diff --git a/bin/flash/admflash.bin b/bin/flash/admflash.bin index e0f2cc5..a8fad98 100644 Binary files a/bin/flash/admflash.bin and b/bin/flash/admflash.bin differ diff --git a/bin/system/TEMP.TXT b/bin/system/TEMP.TXT deleted file mode 100644 index 15d01ca..0000000 --- a/bin/system/TEMP.TXT +++ /dev/null @@ -1,7 +0,0 @@ - -"Die Blütenträume -Von Faltern, wie ich hörte, -So lautlos wie sie -" -Reikan - - diff --git a/bin/system/TEST/TEMP.TXT b/bin/system/TEST/TEMP.TXT deleted file mode 100644 index 15d01ca..0000000 --- a/bin/system/TEST/TEMP.TXT +++ /dev/null @@ -1,7 +0,0 @@ - -"Die Blütenträume -Von Faltern, wie ich hörte, -So lautlos wie sie -" -Reikan - - diff --git a/bin/system/TEST/test1.txt b/bin/system/TEST/test1.txt deleted file mode 100644 index 15d01ca..0000000 --- a/bin/system/TEST/test1.txt +++ /dev/null @@ -1,7 +0,0 @@ - -"Die Blütenträume -Von Faltern, wie ich hörte, -So lautlos wie sie -" -Reikan - - diff --git a/bin/system/TEST/test2.txt b/bin/system/TEST/test2.txt deleted file mode 100644 index 72e62d4..0000000 --- a/bin/system/TEST/test2.txt +++ /dev/null @@ -1,115 +0,0 @@ -Johann Wolfgang Goethe - -Der Zauberlehrling - -Hat der alte Hexenmeister -Sich doch einmal wegbegeben! -Und nun sollen seine Geister -Auch nach meinem Willen leben! -Seine Wort' und Werke -Merkt' ich und den Brauch, -Und mit Geistesstärke -Tu' ich Wunder auch. - -Walle! Walle -Manche Strecke, -Dass, zum Zwecke, -Wasser fließe -Und mit reichem, vollem Schwalle -Zu dem Bade sich ergieße. - -Und nun komm, du alter Besen! -Nimm die schlechten Lumpenhüllen! -Bist schon lange Knecht gewesen; -Nun erfülle meinen Willen! -Auf zwei Beinen stehe, -Oben sei ein Kopf, -Eile nun und gehe -Mit dem Wassertopf! - -Walle! Walle -Manche Strecke, -Dass, zum Zwecke, -Wasser fließe -Und mit reichem, vollem Schwalle -Zu dem Bade sich ergieße. - -Seht, er läuft zum Ufer nieder; -Wahrlich! ist schon an dem Flusse, -Und mit Blitzesschnelle wieder -Ist er hier mit raschem Gusse. -Schon zum zweiten Male! -Wie das Becken schwillt! -Wie sich jede Schale -Voll mit Wasser füllt! - -Stehe! Stehe! -Denn wir haben -Deiner Gaben -Voll gemessen! -Ach, ich merk' es! Wehe! Wehe! -Hab' ich doch das Wort vergessen! - -Ach, das Wort, worauf am Ende -Er das wird, was er gewesen. -Ach, er läuft und bringt behände! -Wärst du doch der alte Besen! -Immer neue Güsse -Bringt er schnell herein, -Ach! und hundert Flüsse -Stürzen auf mich ein. - -Nein, nicht länger -Kann ich's lassen; -Will ihn fassen. -Das ist Tücke! -Ach! nun wird mir immer bänger! -Welche Miene! Welche Blicke! - -Oh, du Ausgeburt der Hölle! -Soll das ganze Haus ersaufen? -Seh' ich über jede Schwelle -Doch schon Wasserströme laufen. -Ein verruchter Besen, -Der nicht hören will! -Stock, der du gewesen, -Steh doch wieder still! - -Willst's am Ende -Gar nicht lassen? -Will dich fassen, -Will dich halten -Und das alte Holz behände -Mit dem scharfen Beile spalten. - -Seht, da kommt er schleppend wieder! -Wie ich mich nun auf dich werfe, -Gleich, o Kobold, liegst du nieder; -Krachend trifft die glatte Schärfe! -Wahrlich, brav getroffen! -Seht, er ist entzwei! -Und nun kann ich hoffen -Und ich atme frei! - -Wehe! Wehe! -Beide Teile -Stehn in Eile -Schon als Knechte -Völlig fertig in die Höhe! -Helft mir, ach! ihr hohen Mächte! - -Und sie laufen! Nass und nässer -Wird's im Saal und auf den Stufen. -Welch entsetzliches Gewässer! -Herr und Meister! Hör' mich rufen! - -Ach, da kommt der Meister! -Herr, die Not ist groß! -Die ich rief, die Geister, -Werd' ich nun nicht los. - -In die Ecke, -Besen! Besen! -Seid's gewesen! -Denn als Geister -Ruft euch nur, zu seinem Zwecke, -Erst hervor der alte Meister." \ No newline at end of file diff --git a/bin/system/bel.sys b/bin/system/bel.sys deleted file mode 100644 index 48564a2..0000000 Binary files a/bin/system/bel.sys and /dev/null differ diff --git a/bin/system/beltest.bin b/bin/system/beltest.bin deleted file mode 100644 index 44d76f8..0000000 Binary files a/bin/system/beltest.bin and /dev/null differ diff --git a/bin/system/copy.bin b/bin/system/copy.bin deleted file mode 100644 index 42f9d69..0000000 Binary files a/bin/system/copy.bin and /dev/null differ diff --git a/bin/system/hallo.bin b/bin/system/hallo.bin deleted file mode 100644 index de71c45..0000000 Binary files a/bin/system/hallo.bin and /dev/null differ diff --git a/bin/system/htext.bel b/bin/system/htext.bel deleted file mode 100644 index 3b2d73c..0000000 Binary files a/bin/system/htext.bel and /dev/null differ diff --git a/bin/system/led.adm b/bin/system/led.adm deleted file mode 100644 index ce04685..0000000 Binary files a/bin/system/led.adm and /dev/null differ diff --git a/bin/system/led.bel b/bin/system/led.bel deleted file mode 100644 index ce04685..0000000 Binary files a/bin/system/led.bel and /dev/null differ diff --git a/bin/system/led.bin b/bin/system/led.bin deleted file mode 100644 index ce04685..0000000 Binary files a/bin/system/led.bin and /dev/null differ diff --git a/bin/system/reg.sys b/bin/system/reg.sys deleted file mode 100644 index cb9a7e1..0000000 Binary files a/bin/system/reg.sys and /dev/null differ diff --git a/bin/system/regime.bin b/bin/system/regime.bin deleted file mode 100644 index cb9a7e1..0000000 Binary files a/bin/system/regime.bin and /dev/null differ diff --git a/bin/system/test1.txt b/bin/system/test1.txt deleted file mode 100644 index 15d01ca..0000000 --- a/bin/system/test1.txt +++ /dev/null @@ -1,7 +0,0 @@ - -"Die Blütenträume -Von Faltern, wie ich hörte, -So lautlos wie sie -" -Reikan - - diff --git a/bin/system/test2.txt b/bin/system/test2.txt deleted file mode 100644 index 72e62d4..0000000 --- a/bin/system/test2.txt +++ /dev/null @@ -1,115 +0,0 @@ -Johann Wolfgang Goethe - -Der Zauberlehrling - -Hat der alte Hexenmeister -Sich doch einmal wegbegeben! -Und nun sollen seine Geister -Auch nach meinem Willen leben! -Seine Wort' und Werke -Merkt' ich und den Brauch, -Und mit Geistesstärke -Tu' ich Wunder auch. - -Walle! Walle -Manche Strecke, -Dass, zum Zwecke, -Wasser fließe -Und mit reichem, vollem Schwalle -Zu dem Bade sich ergieße. - -Und nun komm, du alter Besen! -Nimm die schlechten Lumpenhüllen! -Bist schon lange Knecht gewesen; -Nun erfülle meinen Willen! -Auf zwei Beinen stehe, -Oben sei ein Kopf, -Eile nun und gehe -Mit dem Wassertopf! - -Walle! Walle -Manche Strecke, -Dass, zum Zwecke, -Wasser fließe -Und mit reichem, vollem Schwalle -Zu dem Bade sich ergieße. - -Seht, er läuft zum Ufer nieder; -Wahrlich! ist schon an dem Flusse, -Und mit Blitzesschnelle wieder -Ist er hier mit raschem Gusse. -Schon zum zweiten Male! -Wie das Becken schwillt! -Wie sich jede Schale -Voll mit Wasser füllt! - -Stehe! Stehe! -Denn wir haben -Deiner Gaben -Voll gemessen! -Ach, ich merk' es! Wehe! Wehe! -Hab' ich doch das Wort vergessen! - -Ach, das Wort, worauf am Ende -Er das wird, was er gewesen. -Ach, er läuft und bringt behände! -Wärst du doch der alte Besen! -Immer neue Güsse -Bringt er schnell herein, -Ach! und hundert Flüsse -Stürzen auf mich ein. - -Nein, nicht länger -Kann ich's lassen; -Will ihn fassen. -Das ist Tücke! -Ach! nun wird mir immer bänger! -Welche Miene! Welche Blicke! - -Oh, du Ausgeburt der Hölle! -Soll das ganze Haus ersaufen? -Seh' ich über jede Schwelle -Doch schon Wasserströme laufen. -Ein verruchter Besen, -Der nicht hören will! -Stock, der du gewesen, -Steh doch wieder still! - -Willst's am Ende -Gar nicht lassen? -Will dich fassen, -Will dich halten -Und das alte Holz behände -Mit dem scharfen Beile spalten. - -Seht, da kommt er schleppend wieder! -Wie ich mich nun auf dich werfe, -Gleich, o Kobold, liegst du nieder; -Krachend trifft die glatte Schärfe! -Wahrlich, brav getroffen! -Seht, er ist entzwei! -Und nun kann ich hoffen -Und ich atme frei! - -Wehe! Wehe! -Beide Teile -Stehn in Eile -Schon als Knechte -Völlig fertig in die Höhe! -Helft mir, ach! ihr hohen Mächte! - -Und sie laufen! Nass und nässer -Wird's im Saal und auf den Stufen. -Welch entsetzliches Gewässer! -Herr und Meister! Hör' mich rufen! - -Ach, da kommt der Meister! -Herr, die Not ist groß! -Die ich rief, die Geister, -Werd' ich nun nicht los. - -In die Ecke, -Besen! Besen! -Seid's gewesen! -Denn als Geister -Ruft euch nur, zu seinem Zwecke, -Erst hervor der alte Meister." \ No newline at end of file diff --git a/bin/system/test3.txt b/bin/system/test3.txt deleted file mode 100644 index 96d2229..0000000 --- a/bin/system/test3.txt +++ /dev/null @@ -1,3 +0,0 @@ -0123456789 -0123456789 -0123456789 \ No newline at end of file diff --git a/bin/system/tv.bel b/bin/system/tv.bel deleted file mode 100644 index 79af399..0000000 Binary files a/bin/system/tv.bel and /dev/null differ diff --git a/bin/system/vga.bel b/bin/system/vga.bel deleted file mode 100644 index 48564a2..0000000 Binary files a/bin/system/vga.bel and /dev/null differ diff --git a/flash/administra/amdflash-fat.spin b/flash/administra/admflash-fat.spin similarity index 99% rename from flash/administra/amdflash-fat.spin rename to flash/administra/admflash-fat.spin index a3fdce5..6d84090 100644 Binary files a/flash/administra/amdflash-fat.spin and b/flash/administra/admflash-fat.spin differ diff --git a/flash/administra/admflash-hss.spin b/flash/administra/admflash-hss.spin index adbcd82..a41aeef 100644 --- a/flash/administra/admflash-hss.spin +++ b/flash/administra/admflash-hss.spin @@ -70,19 +70,16 @@ CON '' Hss Master Control -PUB start : okay +PUB start: okay - stop - okay := cog1 := cognew(@entry, @snd_regs) + 1 - okay := cog2 := cognew(hsound, @hsnd_stack) + 1 + okay := cog1 := cognew(@entry, @snd_regs) + okay := cog2 := cognew(hsound, @hsnd_stack) PUB stop - if cog1 - cogstop(cog1~ - 1) - if cog2 - cogstop(cog2~ - 1) - + cogstop(cog2) + cogstop(cog1) + PUB peek(addrptr) : var1 var1 := LONG[@snd_regs][addrptr] diff --git a/flash/administra/amdflash-rtc.spin b/flash/administra/admflash-rtc.spin similarity index 100% rename from flash/administra/amdflash-rtc.spin rename to flash/administra/admflash-rtc.spin diff --git a/flash/administra/admflash.spin b/flash/administra/admflash.spin index f4ca678..d9c29ff 100644 Binary files a/flash/administra/admflash.spin and b/flash/administra/admflash.spin differ diff --git a/flash/regnatix/regflash.spin b/flash/regnatix/regflash.spin index 201edaa..337464b 100644 Binary files a/flash/regnatix/regflash.spin and b/flash/regnatix/regflash.spin differ diff --git a/license.spin b/license.spin index 94661be..6f1fc2e 100644 Binary files a/license.spin and b/license.spin differ diff --git a/system/regnatix/hplay.spin b/system/regnatix/hplay.spin index ceb4586..2ea9c5a 100644 Binary files a/system/regnatix/hplay.spin and b/system/regnatix/hplay.spin differ diff --git a/system/regnatix/hplay.txt b/system/regnatix/hplay.txt index 36f58df..78a0da2 100644 --- a/system/regnatix/hplay.txt +++ b/system/regnatix/hplay.txt @@ -1,11 +1,7 @@ - - - hss-datei wird abgespielt -help - diese hilfe -stop - player stopen -pause - player pause -reg - registerwerte anzeigen -intreg - interface-register anzeigen -list - trackerliste anzeigen -rep - alle hss-dateien abspielen -cls - bildschirm löschen -bye - player beenden +/? : hilfetext +/p name.wav : hss-datei abspielen +/d : verzeichnis abspielen +/s : wiedergabe stoppen +/t : anzeige trackerliste +/r : anzeige engine-register +/i : anzeige interface-register diff --git a/system/regnatix/ios.spin b/system/regnatix/ios.spin index 218ae4b..4a2f36b 100644 Binary files a/system/regnatix/ios.spin and b/system/regnatix/ios.spin differ diff --git a/system/regnatix/regime.spin b/system/regnatix/regime.spin index aac3907..881ff02 100644 Binary files a/system/regnatix/regime.spin and b/system/regnatix/regime.spin differ diff --git a/system/regnatix/sfxtool.spin b/system/regnatix/sfxtool.spin new file mode 100644 index 0000000..e223d21 Binary files /dev/null and b/system/regnatix/sfxtool.spin differ diff --git a/system/regnatix/sysconf.spin b/system/regnatix/sysconf.spin index ba4510c..2b20f6a 100644 Binary files a/system/regnatix/sysconf.spin and b/system/regnatix/sysconf.spin differ diff --git a/system/regnatix/sysconf.txt b/system/regnatix/sysconf.txt index 085048e..59f101d 100644 --- a/system/regnatix/sysconf.txt +++ b/system/regnatix/sysconf.txt @@ -1,6 +1,8 @@ -sysconf -/? : Hilfe -/p : Konfiguration anzeigen -/h 0|1 : hss ab-/anschalten -/w 0|1 : wav ab-/anschalten -/s 0|1 : systemklänge ab-/anschalten +/? : Hilfe +/p : Konfiguration anzeigen +/h 0|1 : hss ab-/anschalten +/w 0|1 : wav ab-/anschalten +/s 0|1 : systemklänge ab-/anschalten +/l 0..100 : wav-lautstärke links +/r 0..100 : wav-lautstärke rechts +/h 0..15 : hss-lautstärke diff --git a/system/regnatix/wplay.spin b/system/regnatix/wplay.spin index 7a7a021..b0b8ef8 100644 Binary files a/system/regnatix/wplay.spin and b/system/regnatix/wplay.spin differ diff --git a/system/regnatix/wplay.txt b/system/regnatix/wplay.txt index 2cf2dd9..525ef03 100644 --- a/system/regnatix/wplay.txt +++ b/system/regnatix/wplay.txt @@ -1,3 +1,5 @@ -wplay /? : Hilfetext -/p name.wav : WAV-Datei abspielen \ No newline at end of file +/p name.wav : WAV-Datei abspielen +/d : Verzeichnis wiedergeben +/l 0..100 : Lautstärke links +/r 0..100 : Lautstärke rechts diff --git a/zubehör/game boulderdash/bin/bd.bin b/zubehör/game boulderdash/bin/bd.bin index b3fcc75..3b68414 100644 Binary files a/zubehör/game boulderdash/bin/bd.bin and b/zubehör/game boulderdash/bin/bd.bin differ diff --git a/zubehör/game boulderdash/bin/bd.wav b/zubehör/game boulderdash/bin/bd.wav new file mode 100644 index 0000000..c289dba Binary files /dev/null and b/zubehör/game boulderdash/bin/bd.wav differ diff --git a/zubehör/game boulderdash/bin/bd1.wav b/zubehör/game boulderdash/bin/bd1.wav deleted file mode 100644 index 8d39c07..0000000 Binary files a/zubehör/game boulderdash/bin/bd1.wav and /dev/null differ diff --git a/zubehör/game boulderdash/bin/bd2.wav b/zubehör/game boulderdash/bin/bd2.wav deleted file mode 100644 index 35f20a5..0000000 Binary files a/zubehör/game boulderdash/bin/bd2.wav and /dev/null differ diff --git a/zubehör/game boulderdash/bin/bd3.wav b/zubehör/game boulderdash/bin/bd3.wav deleted file mode 100644 index eb6173f..0000000 Binary files a/zubehör/game boulderdash/bin/bd3.wav and /dev/null differ diff --git a/zubehör/game boulderdash/bin/bd4.wav b/zubehör/game boulderdash/bin/bd4.wav deleted file mode 100644 index 06b3d3d..0000000 Binary files a/zubehör/game boulderdash/bin/bd4.wav and /dev/null differ diff --git a/zubehör/game boulderdash/bin/bd5.wav b/zubehör/game boulderdash/bin/bd5.wav deleted file mode 100644 index b1041da..0000000 Binary files a/zubehör/game boulderdash/bin/bd5.wav and /dev/null differ diff --git a/zubehör/game boulderdash/bin/bd6.wav b/zubehör/game boulderdash/bin/bd6.wav deleted file mode 100644 index 4efac14..0000000 Binary files a/zubehör/game boulderdash/bin/bd6.wav and /dev/null differ diff --git a/zubehör/game boulderdash/bin/bd_ntsc.bel b/zubehör/game boulderdash/bin/bd_ntsc.bel index 47d81ff..f900e05 100644 Binary files a/zubehör/game boulderdash/bin/bd_ntsc.bel and b/zubehör/game boulderdash/bin/bd_ntsc.bel differ diff --git a/zubehör/game boulderdash/bin/bd_pal.bel b/zubehör/game boulderdash/bin/bd_pal.bel index 9076b53..57304e0 100644 Binary files a/zubehör/game boulderdash/bin/bd_pal.bel and b/zubehör/game boulderdash/bin/bd_pal.bel differ diff --git a/zubehör/game boulderdash/musik/BONUS.SFX b/zubehör/game boulderdash/musik/BONUS.SFX new file mode 100644 index 0000000..97f538e Binary files /dev/null and b/zubehör/game boulderdash/musik/BONUS.SFX differ diff --git a/zubehör/game boulderdash/musik/BONUS.SPN b/zubehör/game boulderdash/musik/BONUS.SPN new file mode 100644 index 0000000..ada8775 --- /dev/null +++ b/zubehör/game boulderdash/musik/BONUS.SPN @@ -0,0 +1 @@ +bonus ' Wav Len Fre Vol LFO LFW FMa AMa Att Dec Sus Rel byte $03,$03,$FF,$0F,$02,$00,$05,$00,$FF,$01,$50,$11 byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 \ No newline at end of file diff --git a/zubehör/game boulderdash/musik/CRACK.SFX b/zubehör/game boulderdash/musik/CRACK.SFX new file mode 100644 index 0000000..f3de3e2 Binary files /dev/null and b/zubehör/game boulderdash/musik/CRACK.SFX differ diff --git a/zubehör/game boulderdash/musik/CRACK.SPN b/zubehör/game boulderdash/musik/CRACK.SPN new file mode 100644 index 0000000..424e89e --- /dev/null +++ b/zubehör/game boulderdash/musik/CRACK.SPN @@ -0,0 +1 @@ +crack ' Wav Len Fre Vol LFO LFW FMa AMa Att Dec Sus Rel byte $01,$22,$01,$0F,$11,$00,$05,$00,$55,$01,$50,$11 byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 \ No newline at end of file diff --git a/zubehör/game boulderdash/musik/ERROR.SFX b/zubehör/game boulderdash/musik/ERROR.SFX new file mode 100644 index 0000000..c671bc0 Binary files /dev/null and b/zubehör/game boulderdash/musik/ERROR.SFX differ diff --git a/zubehör/game boulderdash/musik/ERROR.SPN b/zubehör/game boulderdash/musik/ERROR.SPN new file mode 100644 index 0000000..131169e --- /dev/null +++ b/zubehör/game boulderdash/musik/ERROR.SPN @@ -0,0 +1 @@ +error ' Wav Len Fre Vol LFO LFW FMa AMa Att Dec Sus Rel byte $04,$01,$80,$0F,$00,$00,$00,$00,$FF,$00,$00,$80 byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 \ No newline at end of file diff --git a/zubehör/game boulderdash/musik/EXP.SFX b/zubehör/game boulderdash/musik/EXP.SFX new file mode 100644 index 0000000..feb669b Binary files /dev/null and b/zubehör/game boulderdash/musik/EXP.SFX differ diff --git a/zubehör/game boulderdash/musik/EXP.SPN b/zubehör/game boulderdash/musik/EXP.SPN new file mode 100644 index 0000000..bd1258f --- /dev/null +++ b/zubehör/game boulderdash/musik/EXP.SPN @@ -0,0 +1 @@ +exp ' Wav Len Fre Vol LFO LFW FMa AMa Att Dec Sus Rel byte $06,$04,$10,$0F,$00,$00,$00,$00,$FF,$01,$50,$11 byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 \ No newline at end of file diff --git a/zubehör/game boulderdash/musik/WALL.SFX b/zubehör/game boulderdash/musik/WALL.SFX new file mode 100644 index 0000000..dec7ab7 Binary files /dev/null and b/zubehör/game boulderdash/musik/WALL.SFX differ diff --git a/zubehör/game boulderdash/musik/WALL.SPN b/zubehör/game boulderdash/musik/WALL.SPN new file mode 100644 index 0000000..8465ad0 --- /dev/null +++ b/zubehör/game boulderdash/musik/WALL.SPN @@ -0,0 +1 @@ +wall ' Wav Len Fre Vol LFO LFW FMa AMa Att Dec Sus Rel byte $04,$FF,$FF,$0F,$01,$00,$01,$00,$FF,$06,$20,$00 byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 \ No newline at end of file diff --git a/zubehör/game boulderdash/readme.rtf b/zubehör/game boulderdash/readme.rtf index 7c65fa6..625df0e 100644 Binary files a/zubehör/game boulderdash/readme.rtf and b/zubehör/game boulderdash/readme.rtf differ diff --git a/zubehör/game boulderdash/sourcen/Bellatrix-Code/Sounds.spin b/zubehör/game boulderdash/sourcen/Bellatrix-Code/Sounds.spin index 2f9f7fb..9d8cdc3 100644 --- a/zubehör/game boulderdash/sourcen/Bellatrix-Code/Sounds.spin +++ b/zubehör/game boulderdash/sourcen/Bellatrix-Code/Sounds.spin @@ -30,10 +30,8 @@ pub cCog | cmd bus_init repeat - cmd := bus_getchar 'quittung von regnatix empfangen repeat until sndfx > 0 'warte bis fx gesendet werden soll - bus_putchar(sndfx) 'sndfx-Kommando senden - sndfx := 0 + bus_putchar(sndfx~) 'sndfx-Kommando senden CON diff --git a/zubehör/game boulderdash/sourcen/Regnatix-Code/bd.spin b/zubehör/game boulderdash/sourcen/Regnatix-Code/bd.spin index e97eb34..b85a654 100644 --- a/zubehör/game boulderdash/sourcen/Regnatix-Code/bd.spin +++ b/zubehör/game boulderdash/sourcen/Regnatix-Code/bd.spin @@ -30,6 +30,8 @@ Anpassungen f - Auskommentierung Sound 12-01-2010 - Soundadapter optimiert - Scrolltext im Titelbildschirm eingefügt +19-04-2010 - Anpassung an TriOS: Boulder läuft jetzt auch aus dem Verzeichnis. Bedingt durch das + neue, etwas trägere WAV-Soundsystem, habe ich einige Effekte durch HSS/SFX ersetzt. Zur Hive-Version: Das Game an sich - also der ursprüngliche Basiscode aus dem Parallax-Forum - läuft auf einem einzigen Propellerchip! Was war zu tun um diese Version an den Hive anzupassen: @@ -66,7 +68,8 @@ drohne235 OBJ - ios: "ios" + ios : "ios" +' debugx : "pterm" 'debug CON @@ -95,16 +98,19 @@ _cover_sound = 16 VAR byte parastr[64] +byte fl_musicon -PUB main | a,b,c +PUB main | a,b,c,i,n,stradr 'initialisierung ios.start 'ios initialisieren -' ios.startram 'code für test im ram, sollte bei bin-datei auskommentiert werden +' ios.startram 'code für test im ram, sollte bei bin-datei auskommentiert werden + +' debugx.start(115200) + ios.admsetsyssnd(0) 'systemsounds abschalten - ios.sddmact(ios#DM_USER) 'wieder in userverzeichnis wechseln + ios.sddmact(ios#DM_USER) 'wieder in userverzeichnis wechseln ios.print(string("Boulder Dash - Loading...")) - waitcnt(clkfreq*3+cnt) 'bellatrix-code laden ios.parastart @@ -113,86 +119,104 @@ PUB main | a,b,c case parastr[0] "n": - waitcnt(cnt + 200_000_000) 'warte bis bel fertig ist ios.belload(@beln) 'grafiktreiber ntsc laden other: - waitcnt(cnt + 200_000_000) 'warte bis bel fertig ist ios.belload(@belp) 'grafiktreiber pal laden -'sfx-slots setzen - ios.sfx_setslot2(@fx_moving_sound1, 0) - ios.sfx_setslot2(@fx_moving_sound2, 1) - ios.sfx_setslot2(@fx_boulder_sound,2) - ios.sfx_setslot2(@fx_diamond_sound,3) - ios.sfx_setslot2(@fx_pick_sound,4) - ios.sfx_setslot2(@fx_explosion_sound,5) - ios.sfx_setslot2(@fx_crack_sound,6) - ios.sfx_setslot2(@fx_magic_sound,7) - ios.sfx_setslot2(@fx_amoeba_sound,8) - ios.sfx_setslot2(@fx_time_sound,9) - ios.sfx_setslot2(@fx_bonus_sound,10) - ios.sfx_setslot2(@fx_cover_sound,11) + ios.sddmact(ios#DM_USER) '??? +'sfx-slots setzen + ios.sfx_setslot(@fx_moving_sound1, 0) + ios.sfx_setslot(@fx_moving_sound2, 1) + ios.sfx_setslot(@fx_boulder_sound,2) + ios.sfx_setslot(@fx_diamond_sound,3) + ios.sfx_setslot(@fx_pick_sound,4) + ios.sfx_setslot(@fx_amoeba_sound,5) + ios.sfx_setslot(@fx_time_sound,6) + ios.sfx_setslot(@fx_cover_sound,7) + ios.sfx_setslot(@fx_bonus,8) + ios.sfx_setslot(@fx_crack,9) + ios.sfx_setslot(@fx_explosion,10) + ios.sfx_setslot(@fx_wall,11) + + 'soundadapter repeat - ios.bus_putchar2($1) 'kommando: sound abfragen - a := ios.bus_getchar2 'soundcode einlesen - case a + case ios.bus_getchar2 + _music_on: 'titelmusik - ios.wav_play(@wav1) - _music_off: + ios.admsetsound(ios#SND_HSSOFF) 'hss ausschalten + ios.admsetsound(ios#SND_WAVON) 'wav einschalten + n := ios.wav_play(@wav1) + fl_musicon := 1 + + _music_off: + if fl_musicon ios.wav_stop + ios.admsetsound(ios#SND_WAVOFF) 'wav ausschalten + ios.admsetsound(ios#SND_HSSON) 'hss anschalten + fl_musicon := 0 + _moving_sound1: ios.sfx_fire(0,1) + _moving_sound2: ios.sfx_fire(1,1) + _boulder_sound: ios.sfx_fire(2,1) waitcnt(clkfreq / 30 + cnt) + _diamond_sound: b? b := b & $FF byte[@fx_diamond_sound+2] := b - ios.sfx_setslot2(@fx_diamond_sound,3) + ios.sfx_setslot(@fx_diamond_sound,3) ios.sfx_fire(3,1) waitcnt(clkfreq / 30 + cnt) + _pick_sound: ios.sfx_fire(4,2) waitcnt(clkfreq / 3 + cnt) - _explosion_sound: - ios.wav_play(@wav3) 'explosion - waitcnt(clkfreq * 2 + cnt) - ios.wav_stop - _crack_sound: - ios.wav_play(@wav4) 'eingang - waitcnt(clkfreq * 1 + cnt) - ios.wav_stop + + _explosion_sound: 'explosion + ios.sfx_fire(10,1) + waitcnt(clkfreq * 3 + cnt) + + _crack_sound: 'eingang + ios.sfx_fire(9,1) + waitcnt(clkfreq / 3 + cnt) + _magic_wall_sound_on: + ios.sfx_fire(11,2) + _magic_wall_sound_off: + _amoeba_sound_on: + ios.sfx_fire(5,2) + _amoeba_sound_off: + _time_ending_sound: - ios.sfx_fire(9,2) - _bonus_point_sound: - ios.wav_play(@wav2) 'bonus - waitcnt(clkfreq * 2 + cnt) - ios.wav_stop + ios.sfx_fire(6,2) + + _bonus_point_sound: 'bonus + ios.sfx_fire(8,2) + waitcnt(clkfreq * 4 + cnt) + _cover_sound: b? b := b & $FF byte[@fx_cover_sound+2] := b - ios.sfx_setslot2(@fx_cover_sound,15) - ios.sfx_fire(15,1) + ios.sfx_setslot(@fx_cover_sound,7) + ios.sfx_fire(7,1) waitcnt(clkfreq / 30 + cnt) DAT -wav1 byte "bd2.wav",0 ' titelmusik -wav2 byte "bd3.wav",0 ' bonus -wav3 byte "bd4.wav",0 ' boom -wav4 byte "bd5.wav",0 ' eingang +wav1 byte "bd.wav",0 ' titelmusik beln byte "bd_ntsc.bel",0 ' bella-code, ntsc-version belp byte "bd_pal.bel",0 @@ -212,6 +236,26 @@ fx_time_sound byte $02, $05, $FF, $0F, $10, $00, $01, $00, $FF, $00 fx_bonus_sound byte $01, $01, $80, $0F, $00, $00, $00, $00, $FF, $00, $00, $80 fx_cover_sound byte $01, $01, $80, $0F, $00, $00, $00, $00, $FF, $00, $00, $80 +fx_bonus +' Wav Len Fre Vol LFO LFW FMa AMa Att Dec Sus Rel +byte $03,$03,$FF,$0F,$02,$00,$05,$00,$FF,$01,$50,$11 +byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 + +fx_crack +' Wav Len Fre Vol LFO LFW FMa AMa Att Dec Sus Rel +byte $01,$22,$01,$0F,$11,$00,$05,$00,$55,$01,$50,$11 +byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 + +fx_explosion +' Wav Len Fre Vol LFO LFW FMa AMa Att Dec Sus Rel +byte $06,$04,$10,$0F,$00,$00,$00,$00,$FF,$01,$50,$11 +byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 + +fx_wall +' Wav Len Fre Vol LFO LFW FMa AMa Att Dec Sus Rel +byte $04,$FF,$FF,$0F,$01,$00,$01,$00,$FF,$06,$20,$00 +byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 + DAT { diff --git a/zubehör/game boulderdash/sourcen/Regnatix-Code/ios.spin b/zubehör/game boulderdash/sourcen/Regnatix-Code/ios.spin index 2b23487..68781f5 100644 Binary files a/zubehör/game boulderdash/sourcen/Regnatix-Code/ios.spin and b/zubehör/game boulderdash/sourcen/Regnatix-Code/ios.spin differ diff --git a/zubehör/game boulderdash/sourcen/Regnatix-Code/sfxtool.spin b/zubehör/game boulderdash/sourcen/Regnatix-Code/sfxtool.spin deleted file mode 100644 index 0746b42..0000000 Binary files a/zubehör/game boulderdash/sourcen/Regnatix-Code/sfxtool.spin and /dev/null differ diff --git a/zubehör/game boulderdash/sourcen/Regnatix-Code/test-snd2.spin b/zubehör/game boulderdash/sourcen/Regnatix-Code/test-snd2.spin deleted file mode 100644 index 3e20ba7..0000000 Binary files a/zubehör/game boulderdash/sourcen/Regnatix-Code/test-snd2.spin and /dev/null differ diff --git a/zubehör/game boulderdash/sourcen/Regnatix-Code/test_rnd.spin b/zubehör/game boulderdash/sourcen/Regnatix-Code/test_rnd.spin deleted file mode 100644 index e0efc21..0000000 --- a/zubehör/game boulderdash/sourcen/Regnatix-Code/test_rnd.spin +++ /dev/null @@ -1,28 +0,0 @@ - -CON - -_CLKMODE = XTAL1 + PLL16X -_XINFREQ = 5_000_000 - -OBJ - ios: "ios" - deb: "pterm" - -PUB main | a,b,c - - deb.Start(115200) ' Start des Debug-Terminals - deb.Str(string(deb#cs,"Debugterminal gestartet...")) - ios.start - ios.startram 'code für test im ram, sollte bei bin-datei auskommentiert werden - ios.print(string("Debugterminal gestartet...")) - waitcnt(clkfreq*3+cnt) - - repeat 100 - a? - a := a & $FF - ios.printdec(a) - ios.print(string(" : ")) - - repeat - - \ No newline at end of file diff --git a/zubehör/game boulderdash/sourcen/Regnatix-Code/test_snd.spin b/zubehör/game boulderdash/sourcen/Regnatix-Code/test_snd.spin deleted file mode 100644 index 1d8b4ff..0000000 Binary files a/zubehör/game boulderdash/sourcen/Regnatix-Code/test_snd.spin and /dev/null differ diff --git a/zubehör/startracker/bin/stint.bel b/zubehör/startracker/bin/stint.bel new file mode 100644 index 0000000..e056b11 Binary files /dev/null and b/zubehör/startracker/bin/stint.bel differ diff --git a/zubehör/startracker/bin/stplay.bin b/zubehör/startracker/bin/stplay.bin new file mode 100644 index 0000000..bdbe4a5 Binary files /dev/null and b/zubehör/startracker/bin/stplay.bin differ diff --git a/zubehör/startracker/notiz.rtf b/zubehör/startracker/notiz.rtf new file mode 100644 index 0000000..942455e Binary files /dev/null and b/zubehör/startracker/notiz.rtf differ diff --git a/zubehör/startracker/source/bellatrix-code/Corner_BottomLeft.dat b/zubehör/startracker/source/bellatrix-code/Corner_BottomLeft.dat new file mode 100644 index 0000000..5941fa4 Binary files /dev/null and b/zubehör/startracker/source/bellatrix-code/Corner_BottomLeft.dat differ diff --git a/zubehör/startracker/source/bellatrix-code/Corner_topleft.dat b/zubehör/startracker/source/bellatrix-code/Corner_topleft.dat new file mode 100644 index 0000000..0fdf59f Binary files /dev/null and b/zubehör/startracker/source/bellatrix-code/Corner_topleft.dat differ diff --git a/zubehör/startracker/source/bellatrix-code/Corner_topright.dat b/zubehör/startracker/source/bellatrix-code/Corner_topright.dat new file mode 100644 index 0000000..cb56785 Binary files /dev/null and b/zubehör/startracker/source/bellatrix-code/Corner_topright.dat differ diff --git a/zubehör/startracker/source/bellatrix-code/HV_Break.dat b/zubehör/startracker/source/bellatrix-code/HV_Break.dat new file mode 100644 index 0000000..ccdfe3b --- /dev/null +++ b/zubehör/startracker/source/bellatrix-code/HV_Break.dat @@ -0,0 +1,2 @@ +ÿÿÿ_ÿÿÿ_ÿÿÿ_ÿÿÿ_ÿÿÿ_ÿÿÿ_ÿÿÿ_ÿÿÿ_ÿÿÿ_ÿÿÿ_ÿÿÿ_ÿÿÿ_ÿÿÿ_ÿÿÿ_ªªª +ªªª diff --git a/zubehör/startracker/source/bellatrix-code/HV_Break2.dat b/zubehör/startracker/source/bellatrix-code/HV_Break2.dat new file mode 100644 index 0000000..53f8c70 --- /dev/null +++ b/zubehör/startracker/source/bellatrix-code/HV_Break2.dat @@ -0,0 +1,3 @@ +ªªª +ªªª +ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿUUUUUU \ No newline at end of file diff --git a/zubehör/startracker/source/bellatrix-code/endcap_Med_left.dat b/zubehör/startracker/source/bellatrix-code/endcap_Med_left.dat new file mode 100644 index 0000000..524d651 --- /dev/null +++ b/zubehör/startracker/source/bellatrix-code/endcap_Med_left.dat @@ -0,0 +1 @@ +UUÕÿUUýÿUÕÿÿUõÿÿUÿÿÿÔÿÿÿÔÿÿÿôÿÿÿøÿÿÿèÿÿÿèÿÿÿªÿÿÿªúÿÿªêÿÿªªþÿªªêÿ \ No newline at end of file diff --git a/zubehör/startracker/source/bellatrix-code/endcap_Med_right.dat b/zubehör/startracker/source/bellatrix-code/endcap_Med_right.dat new file mode 100644 index 0000000..81b7eaa --- /dev/null +++ b/zubehör/startracker/source/bellatrix-code/endcap_Med_right.dat @@ -0,0 +1 @@ +ÿWUUÿUUÿÿWUÿÿ_UÿÿÿUÿÿÿÿÿÿÿÿÿÿÿÿ/ÿÿÿ+ÿÿÿ+ÿÿÿªÿÿ¯ªÿÿ«ªÿ¿ªªÿ«ªª \ No newline at end of file diff --git a/zubehör/startracker/source/bellatrix-code/endcap_Small_left.dat b/zubehör/startracker/source/bellatrix-code/endcap_Small_left.dat new file mode 100644 index 0000000..7c14573 Binary files /dev/null and b/zubehör/startracker/source/bellatrix-code/endcap_Small_left.dat differ diff --git a/zubehör/startracker/source/bellatrix-code/endcap_Small_right.dat b/zubehör/startracker/source/bellatrix-code/endcap_Small_right.dat new file mode 100644 index 0000000..66db08d --- /dev/null +++ b/zubehör/startracker/source/bellatrix-code/endcap_Small_right.dat @@ -0,0 +1,4 @@ +UUÿ_UÿÿUÿÿWÿÿ_ÿÿÿÿÿÿÿÿÿÿ¿ÿÿ¯ +ÿÿ« +ÿÿª +ÿ¯ª*¿ªª*ªªª*ªªª* \ No newline at end of file diff --git a/zubehör/startracker/source/bellatrix-code/filled_space.dat b/zubehör/startracker/source/bellatrix-code/filled_space.dat new file mode 100644 index 0000000..85f2b75 --- /dev/null +++ b/zubehör/startracker/source/bellatrix-code/filled_space.dat @@ -0,0 +1 @@ +ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/zubehör/startracker/source/bellatrix-code/font_29p5.dat b/zubehör/startracker/source/bellatrix-code/font_29p5.dat new file mode 100644 index 0000000..13c2f85 Binary files /dev/null and b/zubehör/startracker/source/bellatrix-code/font_29p5.dat differ diff --git a/zubehör/startracker/source/bellatrix-code/stint.spin b/zubehör/startracker/source/bellatrix-code/stint.spin new file mode 100644 index 0000000..673c2b3 --- /dev/null +++ b/zubehör/startracker/source/bellatrix-code/stint.spin @@ -0,0 +1,670 @@ +''LCARS tryout in XGA * +'Trying to emulate look of this page: http://www.lcarscom.net/databank.htm +'Copyright 2008 Raymond Allen + +{{ --------------------------------------------------------------------------------------------------------- + +Hive-Computer-Projekt + +Name : StarTracker +Chip : Bellatrix-Code (soundplayer) +Version : 0.1 +Dateien : stint.spin + +Beschreibung : Grafiktreiber für StarTracker + +Eigenschaften : + +Logbuch : + +Kommandoliste: + +0 1 Tastaturstatus abfragen +0 2 Tastaturzeichen holen +0 3 n Screensteuerzeichen +0 3 0 CLS +0 3 1 Home +0 3 2 Backspace +0 3 3 TAB +0 3 4 n SETCUR Cursorzeichen auf n setzen +0 3 5 POS1 +0 3 6 x SETX +0 3 7 y SETY +0 3 8 (x) GETX +0 3 9 (y) GETY +0 3 10 c SETCOL +0 3 11 n SLINE +0 3 13 SCREENINIT +0 3 14 CURON +0 3 15 CUROFF +0 99 Reboot und neuen Treiber laden +0 100 testfunktion + +1..255 Zeichenausgabe + + + --------------------------------------------------------------------------------------------------------- }} + + +CON + + _clkmode = xtal1 + pll16x + _xinfreq = 5_000_000 + + 'number of custom 16x16 characters + nuchars = (6*3+1*7+47+23*2+20*5) '!!!!! you must have the correct # here for alignment later + +'signaldefinitionen regnatix + +#0, D0,D1,D2,D3,D4,D5,D6,D7 'datenbus +#8, BEL_VGABASE 'vga-signale (8pin) +#16, BEL_KEYBC,BEL_KEYBD 'keyboard-signale +#18, BEL_MOUSEC,BEL_MOUSED 'maus-signale +#20, BEL_VIDBASE 'video-signale(3pin) +#23, BEL_SELECT 'belatrix-auswahlsignal +#24, HBEAT 'front-led + BUSCLK 'bustakt + BUS_WR '/wr - schreibsignal + BUS_HS ' '/hs - quittungssignal + +COLS = 64 +ROWS = 48 +TILES = cols * rows + +TAB1 = 16 +TAB2 = 32 +TAB3 = 48 +SPACETILE = $8000 + $20 << 6 + +VGA_BASPORT = 8 'vga startport +VGA_RESX = COLS * 16 'vga anzahl pixel x +VGA_RESY = ROWS * 16 'vga anzahl pixel y +KEYB_DPORT = BEL_KEYBD 'tastatur datenport +KEYB_CPORT = BEL_KEYBC 'tastatur taktport +MOUSE_DPORT = BEL_MOUSED +MOUSE_CPORT = BEL_MOUSEC +CURSORCHAR = $0E 'cursorzeichen + +DB_WAIT = %00000001_00000000_00000000_00000000 'dira-wert f?r wait-status am bus +DB_IN = %00001001_00000000_00000000_00000000 'dira-wert f?r datenbuseingabe +DB_OUT = %00001001_00000000_00000000_11111111 'dira-wert f?r datenbusausgabe +CNT_HBEAT = 5_000_0000 'blinkgeschw. front-led + + +VAR + + 'variables for display + long col, row, color, flag + long array[tiles/2] + long stackhb[9] 'stack f?r hbeat-cog + byte cursor 'cursorzeichen + byte curstat 'cursorstatus 1 = ein + byte sline 'startzeile des scrollfensters + byte eline 'endzeile des scrollfensters + + 'for custom characters + word user_charbase + + 'for drawing buttons + word ptr + byte boxcolor + byte sBuffer[32] 'stingpuffer + + +OBJ + + vga : "stvga" + keyb : "stkeyb" + + +PUB main | zeichen +{{interpreter f?r hostdialog}} + + init_subsysteme 'bus/vga/keyboard/maus initialisieren + repeat + zeichen := bus_getchar '1. zeichen empfangen + if zeichen > 0 + print_char(zeichen) + else + zeichen := bus_getchar '2. zeichen kommando empfange + case zeichen + 1: bus_putchar(keyb.gotkey) '1: Tastaturstatus senden + 2: bus_putchar(keyb.key) '2: Tastaturzeichen senden + 3: zeichen := bus_getchar '3: Sonderzeichen von $100 bis $1FF ausgeben + print_char(zeichen + $100) + + 10: cmd_bitmap1 + 11: cmd_fillbox + 12: cmd_drawtxt + 99: reboot '99: bellatrix neu starten + 100: gfx1 + +PUB gfx1 + +PUB cmd_bitmap1 | nBitmap,pBitmap,xPos,yPos,xSize,ySize,clr +'Bitmap1Bit(@endcap_med_left,1,1,1,2,1) +'Bitmap1Bit(pBitmap, xPos, yPos, xSize, ySize, clr) + nBitmap := bus_getchar + xPos := bus_getchar + yPos := bus_getchar + xSize := bus_getchar + ySize := bus_getchar + clr := bus_getchar + case nBitmap + 0: pBitmap := @title + 1: pBitmap := @footer + 2: pBitmap := @button1 + 3: pBitmap := @button2 + 4: pBitmap := @button3 + 5: pBitmap := @button4 + 6: pBitmap := @button5 + 7: pBitmap := @button6 + 8: pBitmap := @button7 + 9: pBitmap := @button8 + 10: pBitmap := @button9 + 11: pBitmap := @corner_topleft + 12: pBitmap := @corner_topright + 13: pBitmap := @corner_bottomLeft + 14: pBitmap := @endcap_med_left + 15: pBitmap := @endcap_med_right + 16: pBitmap := @endcap_small_left + 17: pBitmap := @endcap_small_right + Bitmap1Bit(pBitmap, xPos, yPos, xSize, ySize, clr) + + +PUB cmd_fillbox | left,top,width,height,clr,bBottomBreak,bRightBreak,bTrimRight +'FillBlock(3,1,35,2,3,false,false,false) +'FillBlock(left,top,width,height,clr,bBottomBreak,bRightBreak,bTrimRight) + left := bus_getchar + top := bus_getchar + width := bus_getchar + height := bus_getchar + clr := bus_getchar + bBottomBreak := bus_getchar + bRightBreak := bus_getchar + bTrimRight := bus_getchar + FillBlock(left,top,width,height,clr,bBottomBreak,bRightBreak,bTrimRight) + +PUB cmd_drawtxt | nButton,pButton,nLen,c,i +'DrawText(@button,@string,bInvert) + nButton := bus_getchar + nLen := bus_getchar + repeat i from 0 to nLen - 1 + c := bus_getchar + sBuffer[i] := c + sBuffer[i+1] := 0 + case nButton + 0: pButton := @title + 1: pButton := @footer + 2: pButton := @button1 + 3: pButton := @button2 + 4: pButton := @button3 + 5: pButton := @button4 + 6: pButton := @button5 + 7: pButton := @button6 + 8: pButton := @button7 + 9: pButton := @button8 + 10: pButton := @button9 + DrawText(pButton, @sBuffer,false) + +PUB init_subsysteme +{{initialisierung des belatrix-chips}} + cognew(led_hbeat, @stackhb) 'heartbeat aktivieren + bus_init 'bussignale initialisieren + + '64 byte align the user characters + user_charbase := @uchar & $FFC0 'destination + 'user_charbase_offset := user_charbase-@uchar + longmove(user_charbase,@uchar,16*nuchars) + + keyb.start(keyb_dport, keyb_cport) 'tastaturport starten + vga.start(vga_basport, @array, @vgacolors, 0,0,0) 'vga-treiber starten + + print_char($100) 'bildschirm l?schen + cursor := CURSORCHAR 'cursorzeichen setzen + curstat := 1 'cursor anschalten + sline := 2 + eline := rows + +PUB bus_init +{{initialisierung des bussystems}} + dira := db_in 'datenbus auf eingabe schalten + outa[bus_hs] := 1 'handshake inaktiv + +PUB bus_putchar(zeichen) +{{ein byte ?ber bus ausgeben}} + waitpeq(%00000010_00000000_00000000_00000000,%00000010_10000000_00000000_00000000,0) 'busclk=1? & prop2=0? + dira := db_out 'datenbus auf ausgabe stellen + outa[7..0] := zeichen 'daten ausgeben + outa[bus_hs] := 0 'daten g?ltig + waitpeq(%00000000_00000000_00000000_00000000,%00000010_00000000_00000000_00000000,0) 'busclk=0? + 'waitcnt(1_000 + cnt) 'zeit f?r master + outa[bus_hs] := 1 'daten ung?ltig + dira := db_in 'bus freigeben + +PUB bus_getchar : zeichen +{{ein byte ?ber bus empfangen}} + waitpeq(%00000010_00000000_00000000_00000000,%00000010_10000000_00000000_00000000,0) 'busclk=1? & prop2=0? + zeichen := ina[7..0] 'daten einlesen + outa[bus_hs] := 0 'daten quittieren + outa[bus_hs] := 1 + waitpeq(%00000000_00000000_00000000_00000000,%00000010_00000000_00000000_00000000,0) 'busclk=0? + +PUB led_hbeat +{{led_hbeat - herzschlag f?r front-led}} + dira := db_in + repeat + !outa[hbeat] + waitcnt(cnt_hbeat + cnt) + +PUB print_str(strptr) +{{zeichenkette auf bildschirm ausgeben}} + repeat while byte[strptr] + print_char(byte[strptr++]) + + +PUB print_char(c) | code,n +{{zeichen auf bildschirm ausgeben}} +'' Print a character +'' +'' $0D = new line +'' $20..$FF = character +'' $100 = clear screen +'' $101 = home +'' $108 = backspace +''$110..$11F = select color + + case c + + $00..$0C: + pchar(c) + if curstat == 1 + schar(cursor) + + $0D: 'return? + if curstat == 1 + schar($20) + newline + if curstat == 1 + schar(cursor) + + $0E..$FF: 'character? + pchar(c) + if curstat == 1 + schar(cursor) + + $100: 'clear screen? + if curstat == 1 + schar($20) + n := sline * cols * 2 + wordfill(@array + n, spacetile, tiles - n) + row := sline + col := 0 + if curstat == 1 + schar(cursor) + + $101: 'home? + row := sline + col := 0 + + $102: 'backspace? + if col + if curstat == 1 + schar($20) + col-- + if curstat == 1 + schar(cursor) + + $103: 'tab + if col < TAB1 + if curstat == 1 + schar($20) + col := TAB1 + if curstat == 1 + schar(cursor) + return + if col < TAB2 + if curstat == 1 + schar($20) + col := TAB2 + if curstat == 1 + schar(cursor) + return + if col < TAB3 + if curstat == 1 + schar($20) + col := TAB3 + if curstat == 1 + schar(cursor) + return + $104: 'setcur + code := bus_getchar + cursor := code + if curstat == 1 + schar(code) + + $105: 'pos1 + if curstat == 1 + schar($20) + col := 0 + if curstat == 1 + schar(cursor) + + $106: 'setx + if curstat == 1 + schar($20) + col := bus_getchar + if curstat == 1 + schar(cursor) + + $107: 'sety + if curstat == 1 + schar($20) + row := bus_getchar * 2 + sline '2 tiles pro zeichen! + if curstat == 1 + schar(cursor) + + $108: 'getx + bus_putchar(col) + + $109: 'gety + bus_putchar(row / 2) + + $110: 'setcolor + color := bus_getchar + + $111: 'sline + sline := bus_getchar * 2 + + $112: 'eline + eline := bus_getchar * 2 + + $113: 'screeninit + wordfill(@array, spacetile, tiles) + row := 0 + col := 0 + sline := 0 + + $114: 'curon + curstat := 1 + schar(cursor) + + $115: 'curoff + if curstat == 1 + schar($20) + curstat := 0 + + $116: 'scrollup + scrollup + + $130..$13F: 'select color? + color := c & $F + +PRI schar(c)| i,k +'schreibt zeichen an aktuelle position ohne cursorposition zu ver?ndern + k := color << 1 + c & 1 + i := $8000 + (c & $FE) << 6 + k + array.word[row * cols + col] := i 'oberes tile setzen + array.word[(row + 1) * cols + col] := i | $40 'unteres tile setzen + +PRI pchar(c) +'schreibt zeichen an aktuelle position z?hlt position weiter + schar(c) + if ++col == cols + newline + +PUB newline | i + + col := 0 + if (row += 2) == rows + row -= 2 + 'scroll lines + repeat i from sline to rows-3 + + wordmove(@array.word[i*cols], @array.word[(i+2)*cols], cols) 'wordmove(dest,src,cnt) + 'clear new line + wordfill(@array.word[(rows-2)*cols], spacetile, cols<<1) + +PUB scrollup | i 'scrollt den screen nach oben + 'scroll lines + repeat i from sline to rows-3 + wordmove(@array.word[i*cols], @array.word[(i+2)*cols], cols) 'wordmove(dest,src,cnt) + 'clear new line + wordfill(@array.word[(rows-2)*cols], spacetile, cols<<1) + +PRI DrawText(pBmp,str,bInvert)|x1,x2,i,j,b,k,c,s +'draw prop font into bitmap + k:=0 'current column + repeat s from 0 to strsize(str)-1 + c:=byte[str][s] + if (c=>32) and (c=<(95+2)) 'note: char 96=dot, 97=degree + x1:=word[@FontTable][c-32] + x2:=word[@FontTable][c-32+1] + repeat i from x1 to x2-1 + DrawFontColumn(i,j,pBmp,k,b) + 'repeat j from 0 to 31 + ' b:=getFontPixel(i,j) + ' setFontPixel(pBmp,k,j,b) + k++ + +PRI DrawFontColumn(x,y,pdest,k,b)|dtile,stile,doffset,soffset,psrc,d,pixel,j + stile:=x/16 + soffset:=(x//16)*2 + psrc:=@font+4*16*stile+user_charbase-@uchar + dtile:=k/16 + doffset:=(k//16)*2 + pdest+=4*16*dtile+user_charbase-@uchar + repeat j from 0 to 31 + y:=j + if y=>16 + y-=16 + if j==16 + soffset++ + doffset++ + pixel:=long[psrc][y//16] + pixel>>=soffset + pixel&=$1 + 'draw + if pixel + long[pdest][y//16]|=|16 + offset++ + y-=16 + p:=@font+4*16*tile + d:=long[p+user_charbase-@uchar][y//16] + d>>=offset + return (d&$1)>0 + +PRI setFontPixel(p,x,y,b)|tile,offset,d +'set (b=true) or clear (b=false) pixel in bmp @p at coordinates (x,y) + tile:=x/16 + offset:=(x//16)*2 + if y=>16 + offset++ + y-=16 + p+=4*16*tile+user_charbase-@uchar + 'd:=long[p][y//16] + if b + long[p][y//16]|=|>6 + c & $FE + +PRI uPrintBottom(c,ncol,nrow)|i,k + 'print bottom part of a character + k := color << 1 + c & 1 + i := user_charbase + (c & $FE) << 6 + k + array.word[nrow * cols + ncol] := i+$40'user_charbase + (c<<6) + color+$40'(color << 1 + c & 1) << 10 + user_charbase>>6 + c & $FE +1 + +PRI Bitmap2Bit(pBitmap, xPos, yPos, xSize, ySize, clr)|c,i,j,BmpAddress + row:=yPos + col:=xPos + c:=0 + BmpAddress:=pBitmap+user_charbase-@uchar + repeat j from 0 to (ySize-1) + repeat i from 0 to (xSize-1) + array.word[row * cols + col] := BmpAddress + (c<<6) + clr + 'Print2Bit(c,clr,pBitmap) + c++ + col++ + row++ + col:=xPos + + +PRI Bitmap1Bit(pBitmap, xPos, yPos, xSize, ySize, clr)|c,i,j,BmpAddress + row:=yPos + col:=xPos + c:=0 + BmpAddress:=pBitmap+user_charbase-@uchar + repeat j from 0 to (ySize-1) step 2 + repeat i from 0 to (xSize-1) + array.word[row * cols + col] := (clr<<1+1) + BmpAddress +c<<6 + if ySize<>1 + array.word[(row+1) * cols + col] := (clr<<1) + BmpAddress +c<<6 + c++ + col++ + row+=2 + col:=xPos + + +PRI Bitmap1BitTile(pBitmap,x,y,clr,bLower)|BmpAddress +'print just the upper or lower tile of a 2-tile bitmap + BmpAddress:=pBitmap+user_charbase-@uchar + clr:=clr<<1+1 + if bLower + clr-=1 + + array.word[y * cols + x] := clr + BmpAddress + + +DAT + vgacolors long + +'0..1: text color 0: + long $90009000 'orange on black + long $90900000 +'2..3: text color 1: + long $5c005c00 'blue on black + long $5c5c0000 +'4..5: text color 2: + long $94009400 'light red on black + long $94940000 +'6..7: text color 3: + long $98009800 'purple on black + long $98980000 +'8..9: text color 4: + long $f800f800 'yellow on black + long $f8f80000 +'10..11: text color 5: + long $84008400 'dark red on black + long $84840000 + + +'12: graphics 2: 'card edge colors + long $100000FC ''green,black,black,white +'13: graphics 3: 'red face card colors + long $F0C000FC ' yellow,red,black,white +'14: graphics 4: 'black face card colors + long $F000C0FC ''yellow,black,red,white +'15: graphics 5: button colors + long $FC54A8A8 'lt grey, dk.gray, gray, gray + + +FontTable word + word 8, 16,21,32,60,72,92,107,114,121,129,138,150,156,164,170,184,195,203,214,225,239,250,261,273,284,295,300,306,316,333,343,354,378,392 'to B + word 403,414,425,435,445,456,467,472,483,496,506,523,537,548,559,570,582,593,605,616,630,649,663,676,686,695,706,720,733,743,751 'note last two chars are dot and degree + +padding LONG 7[16] 'alignment padding for the following user defined characters + +uchar long + +corner_topleft long + file "corner_topleft.dat" '6x2 + +corner_topright long + file "corner_topright.dat" '6x2 + +corner_bottomLeft long + file "corner_bottomLeft.dat" '6x2 + +hv_break long + file "hv_break.dat" '1x2 + +hv_break2 long + file "hv_break2.dat" '1x2 + +endcap_med_left long + file "endcap_med_left.dat" '1x2 + +endcap_med_right long + file "endcap_med_right.dat" '1x2 + +endcap_small_left long + file "endcap_small_left.dat" '1x2 + +endcap_small_right long + file "endcap_small_right.dat" '1x2 + +filled_space long + file "filled_space.dat" '1x2 + +font long + file "font_29p5.dat" '47x2 + +title long 0[16*23] 'space for title 23x2 +footer long 0[16*23] 'space for footer 23x2 + +button1 long 0[16*20] 'space for button text 10x2 +button2 long 0[16*20] 'space for button text +button3 long 0[16*20] 'space for button text +button4 long 0[16*20] 'space for button text +button5 long 0[16*20] 'space for button text +button6 long 0[16*20] 'space for button text 10x2 +button7 long 0[16*20] 'space for button text +button8 long 0[16*20] 'space for button text +button9 long 0[16*20] 'space for button text \ No newline at end of file diff --git a/zubehör/startracker/source/bellatrix-code/stkeyb.spin b/zubehör/startracker/source/bellatrix-code/stkeyb.spin new file mode 100644 index 0000000..dad7275 Binary files /dev/null and b/zubehör/startracker/source/bellatrix-code/stkeyb.spin differ diff --git a/zubehör/startracker/source/bellatrix-code/stmouse.spin b/zubehör/startracker/source/bellatrix-code/stmouse.spin new file mode 100644 index 0000000..a5518dc --- /dev/null +++ b/zubehör/startracker/source/bellatrix-code/stmouse.spin @@ -0,0 +1,470 @@ +''***************************** +''* PS/2 Mouse Driver v1.1 * +''* (C) 2006 Parallax, Inc. * +''***************************** + +' v1.0 - 01 May 2006 - original version +' v1.1 - 01 Jun 2006 - bound coordinates added to simplify upper objects + + +VAR + + long cog + + long oldx, oldy, oldz 'must be followed by parameters (10 contiguous longs) + + long par_x 'absolute x read-only (7 contiguous longs) + long par_y 'absolute y read-only + long par_z 'absolute z read-only + long par_buttons 'button states read-only + long par_present 'mouse present read-only + long par_dpin 'data pin write-only + long par_cpin 'clock pin write-only + + long bx_min, by_min, bz_min 'min/max must be contiguous + long bx_max, by_max, bz_max + long bx_div, by_div, bz_div + long bx_acc, by_acc, bz_acc + + +PUB start(dpin, cpin) : okay + +'' Start mouse driver - starts a cog +'' returns false if no cog available +'' +'' dpin = data signal on PS/2 jack +'' cpin = clock signal on PS/2 jack +'' +'' use 100-ohm resistors between pins and jack +'' use 10K-ohm resistors to pull jack-side signals to VDD +'' connect jack-power to 5V, jack-gnd to VSS + + stop + par_dpin := dpin + par_cpin := cpin + okay := cog := cognew(@entry, @par_x) + 1 + + +PUB stop + +'' Stop mouse driver - frees a cog + + if cog + cogstop(cog~ - 1) + longfill(@oldx, 0, 10) + + +PUB present : type + +'' Check if mouse present - valid ~2s after start +'' returns mouse type: +'' +'' 3 = five-button scrollwheel mouse +'' 2 = three-button scrollwheel mouse +'' 1 = two-button or three-button mouse +'' 0 = no mouse connected + + type := par_present + + +PUB button(b) : state + +'' Get the state of a particular button +'' returns t|f + + state := -(par_buttons >> b & 1) + + +PUB buttons : states + +'' Get the states of all buttons +'' returns buttons: +'' +'' bit4 = right-side button +'' bit3 = left-side button +'' bit2 = center/scrollwheel button +'' bit1 = right button +'' bit0 = left button + + states := par_buttons + + +PUB abs_x : x + +'' Get absolute-x + + x := par_x + + +PUB abs_y : y + +'' Get absolute-y + + y := par_y + + +PUB abs_z : z + +'' Get absolute-z (scrollwheel) + + z := par_z + + +PUB delta_reset + +'' Reset deltas + + oldx := par_x + oldy := par_y + oldz := par_z + + +PUB delta_x : x | newx + +'' Get delta-x + + newx := par_x + x := newx - oldx + oldx := newx + + +PUB delta_y : y | newy + +'' Get delta-y + + newy := par_y + y := newy - oldy + oldy := newy + + +PUB delta_z : z | newz + +'' Get delta-z (scrollwheel) + + newz := par_z + z := newz - oldz + oldz := newz + + +PUB bound_limits(xmin, ymin, zmin, xmax, ymax, zmax) | i + +'' Set bounding limits + + longmove(@bx_min, @xmin, 6) + + +PUB bound_scales(x_scale, y_scale, z_scale) + +'' Set bounding scales (usually +/-1's, bigger values divide) + + longmove(@bx_div, @x_scale, 3) + + +PUB bound_preset(x, y, z) | i, d + +'' Preset bound coordinates + + repeat i from 0 to 2 + d := ||bx_div[i] + bx_acc[i] := (x[i] - bx_min[i]) * d + d >> 1 + + +PUB bound_x : x + +'' Get bound-x + + x := bound(0, delta_x) + + +PUB bound_y : y + +'' Get bound-y + + y := bound(1, delta_y) + + +PUB bound_z : z + +'' Get bound-z + + z := bound(2, delta_z) + + +PRI bound(i, delta) : b | d + + d := bx_div[i] + b := bx_min[i] + (bx_acc[i] := bx_acc[i] + delta * (d < 0) | 1 #> 0 <# (bx_max[i] - bx_min[i] + 1) * ||d - 1) / ||d + + +DAT + +'*************************************** +'* Assembly language PS/2 mouse driver * +'*************************************** + + org +' +' +' Entry +' +entry mov p,par 'load input parameters: + add p,#5*4 '_dpin/_cpin + rdlong _dpin,p + add p,#4 + rdlong _cpin,p + + mov dmask,#1 'set pin masks + shl dmask,_dpin + mov cmask,#1 + shl cmask,_cpin + + test _dpin,#$20 wc 'modify port registers within code + muxc _d1,dlsb + muxc _d2,dlsb + muxc _d3,#1 + muxc _d4,#1 + test _cpin,#$20 wc + muxc _c1,dlsb + muxc _c2,dlsb + muxc _c3,#1 + + movd :par,#_x 'reset output parameters: + mov p,#5 '_x/_y/_z/_buttons/_present +:par mov 0,#0 + add :par,dlsb + djnz p,#:par +' +' +' Reset mouse +' +reset mov dira,#0 'reset directions + mov dirb,#0 + + mov stat,#1 'set reset flag +' +' +' Update parameters +' +update movd :par,#_x 'update output parameters: + mov p,par '_x/_y/_z/_buttons/_present + mov q,#5 +:par wrlong 0,p + add :par,dlsb + add p,#4 + djnz q,#:par + + test stat,#1 wc 'if reset flag, transmit reset command + if_c mov data,#$FF + if_c call #transmit +' +' +' Get data packet +' + mov stat,#0 'reset state + + call #receive 'receive first byte + + cmp data,#$AA wz 'powerup/reset? + if_z jmp #init + + mov _buttons,data 'data packet, save buttons + + call #receive 'receive second byte + + test _buttons,#$10 wc 'adjust _x + muxc data,signext + add _x,data + + call #receive 'receive third byte + + test _buttons,#$20 wc 'adjust _y + muxc data,signext + add _y,data + + and _buttons,#%111 'trim buttons + + cmp _present,#2 wc 'if not scrollwheel mouse, update parameters + if_c jmp #update + + + call #receive 'scrollwheel mouse, receive fourth byte + + cmp _present,#3 wz 'if 5-button mouse, handle two extra buttons + if_z test data,#$10 wc + if_z_and_c or _buttons,#%01000 + if_z test data,#$20 wc + if_z_and_c or _buttons,#%10000 + + shl data,#28 'adjust _z + sar data,#28 + sub _z,data + + jmp #update 'update parameters +' +' +' Initialize mouse +' +init call #receive '$AA received, receive id + + movs crate,#100 'try to enable 3-button scrollwheel type + call #checktype + movs crate,#200 'try to enable 5-button scrollwheel type + call #checktype + shr data,#1 'if neither, 3-button type + add data,#1 + mov _present,data + + movs srate,#200 'set 200 samples per second + call #setrate + + mov data,#$F4 'enable data reporting + call #transmit + + jmp #update +' +' +' Check mouse type +' +checktype movs srate,#200 'perform "knock" sequence to enable + call #setrate '..scrollwheel and extra buttons + +crate movs srate,#200/100 + call #setrate + + movs srate,#80 + call #setrate + + mov data,#$F2 'read type + call #transmit + call #receive + +checktype_ret ret +' +' +' Set sample rate +' +setrate mov data,#$F3 + call #transmit +srate mov data,#0 + call #transmit + +setrate_ret ret +' +' +' Transmit byte to mouse +' +transmit +_c1 or dira,cmask 'pull clock low + movs napshr,#13 'hold clock for ~128us (must be >100us) + call #nap +_d1 or dira,dmask 'pull data low + movs napshr,#18 'hold data for ~4us + call #nap +_c2 xor dira,cmask 'release clock + + test data,#$0FF wc 'append parity and stop bits to byte + muxnc data,#$100 + or data,dlsb + + mov p,#10 'ready 10 bits +transmit_bit call #wait_c0 'wait until clock low + shr data,#1 wc 'output data bit +_d2 muxnc dira,dmask + mov wcond,c1 'wait until clock high + call #wait + djnz p,#transmit_bit 'another bit? + + mov wcond,c0d0 'wait until clock and data low + call #wait + mov wcond,c1d1 'wait until clock and data high + call #wait + + call #receive_ack 'receive ack byte with timed wait + cmp data,#$FA wz 'if ack error, reset mouse + if_nz jmp #reset + +transmit_ret ret +' +' +' Receive byte from mouse +' +receive test _cpin,#$20 wc 'wait indefinitely for initial clock low + waitpne cmask,cmask +receive_ack + mov p,#11 'ready 11 bits +receive_bit call #wait_c0 'wait until clock low + movs napshr,#16 'pause ~16us + call #nap +_d3 test dmask,ina wc 'input data bit + rcr data,#1 + mov wcond,c1 'wait until clock high + call #wait + djnz p,#receive_bit 'another bit? + + shr data,#22 'align byte + test data,#$1FF wc 'if parity error, reset mouse + if_nc jmp #reset + and data,#$FF 'isolate byte + +receive_ack_ret +receive_ret ret +' +' +' Wait for clock/data to be in required state(s) +' +wait_c0 mov wcond,c0 '(wait until clock low) + +wait mov q,tenms 'set timeout to 10ms + +wloop movs napshr,#18 'nap ~4us + call #nap +_c3 test cmask,ina wc 'check required state(s) +_d4 test dmask,ina wz 'loop until got state(s) or timeout +wcond if_never djnz q,#wloop '(replaced with c0/c1/c0d0/c1d1) + + tjz q,#reset 'if timeout, reset mouse +wait_ret +wait_c0_ret ret + + +c0 if_c djnz q,#wloop '(if_never replacements) +c1 if_nc djnz q,#wloop +c0d0 if_c_or_nz djnz q,#wloop +c1d1 if_nc_or_z djnz q,#wloop +' +' +' Nap +' +nap rdlong t,#0 'get clkfreq +napshr shr t,#18/16/13 'shr scales time + min t,#3 'ensure waitcnt won't snag + add t,cnt 'add cnt to time + waitcnt t,#0 'wait until time elapses (nap) + +nap_ret ret +' +' +' Initialized data +' +dlsb long 1 << 9 +tenms long 10_000 / 4 +signext long $FFFFFF00 +' +' +' Uninitialized data +' +dmask res 1 +cmask res 1 +stat res 1 +data res 1 +p res 1 +q res 1 +t res 1 + +_x res 1 'write-only +_y res 1 'write-only +_z res 1 'write-only +_buttons res 1 'write-only +_present res 1 'write-only +_dpin res 1 'read-only +_cpin res 1 'read-only \ No newline at end of file diff --git a/zubehör/startracker/source/bellatrix-code/stvga.spin b/zubehör/startracker/source/bellatrix-code/stvga.spin new file mode 100644 index 0000000..9acf513 Binary files /dev/null and b/zubehör/startracker/source/bellatrix-code/stvga.spin differ diff --git a/zubehör/startracker/source/regnatix-code/ios.spin b/zubehör/startracker/source/regnatix-code/ios.spin new file mode 100644 index 0000000..3373d3f Binary files /dev/null and b/zubehör/startracker/source/regnatix-code/ios.spin differ diff --git a/zubehör/startracker/source/regnatix-code/stplay.spin b/zubehör/startracker/source/regnatix-code/stplay.spin new file mode 100644 index 0000000..a3abe7b Binary files /dev/null and b/zubehör/startracker/source/regnatix-code/stplay.spin differ