CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum
CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum
CP1 Anleitung (Manual) - 8Bit-Homecomputermuseum
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Listing 52: Roulette<br />
Adresse Mnemonics Code Kommentar<br />
001 CO: AKO 040 04.040 lade „40" ...<br />
002 ABS 124 06.124 als Startwert für Verlangsamung speichern<br />
003 AKO 001 04.001 lade „1" ...<br />
004 ABS 125 06.125 als erstes LED-Muster speichern (dual: 00000001)...<br />
005 ABS 126 06.126 als ersten Verlangsamungswert speichern ...<br />
006 ABS 127 06.127 als Schrittweite speichern ...<br />
007 ABS 123 06.123 und als Tastenzustand: „1" = frei (nicht gedrückt)<br />
008 C1: LDA 125 05.125 lade das LED-Muster<br />
009 P2A 000 18.000 gib es aus an Port 2 (LED-Reihe)<br />
010 AKO 129 04.129 Test, ob LED Nr. 8 erreicht: lade „129"<br />
011 SUB 125 08.125 subtrahiere das Muster davon, also maximal<br />
10000000 (dual) = 128 (dezimal)<br />
012 VGR 127 12.127 ist der Rest größer als „1", also ,,128" als Muster noch<br />
nicht erreicht?<br />
013 SPB 016(C2) 11.016 falls ja, weiter in der Bit-Shift-Schleife<br />
014 AKO 001 04.001 sonst neuer Musterstart: lade „1"<br />
015 SPU 018(C3) 09.018 springe zum Speichern als LED-Muster<br />
016 C2: LDA 125 05.125 Multiplikation mit „2": lade das Muster<br />
017 ADD 125 07.125 addiere es noch einmal dazu<br />
018 C3: ABS 125 06.125 speichere es als neues Muster<br />
019 AKO 001 04.001 lade „1"<br />
020 P1A 002 17.002 gib sie aus an Port 1 Klemme 2 (Lautsprecher)<br />
021 VZG 015 03.015 warte kurz (Lautsprecher ist jetzt an)<br />
022 AKO 000 04.000 lade „0"<br />
023 P1A002 17.002 gib sie aus an Port 1 Klemme 2 (Lautsprecher aus)<br />
024 LDA 126 05.126 lade den aktuellen Verlangsamungswert aus dem<br />
Speicher...<br />
025 W1 VZG 003 03.003 und verzögere kurz<br />
026 SUB 127 08.127 verringere die Verlangsamung um „1"<br />
027 VGR 127 12.127 ist sie noch größer als „1", also noch nicht lange genug<br />
gewartet?<br />
028 SPB 025 (W1) 11.025 falls ja, warte weiter in der Schleife<br />
029 P1E001 16.001 sonst lies Port 1 Klemme 1 (Taster)<br />
030 VGL 127 10.127 ist der Wert „1", also nicht gedrückt?<br />
031 SPB 034 (W2) 11.034 falls ja, springe zum „Weiterrollen"<br />
032 ABS 123 06.123 sonst speichere die „0" als Tastenzustand<br />
und Zeichen für das Ausrollenlassen.<br />
033 SPU 037 (W3) 09.037 springe zu 037 (starte die Verlangsamung)<br />
034 W2: AKO 001 04.001 lade „1"<br />
035 VGL 123 10.123 ist der Tastenzustand gleich?<br />
036 SPB 008 (C1) 11.008 falls ja, springe zur Muster-Ausgabe<br />
037 W3: LDA 126 05.126 sonst verlangsame die „Rollbewegung":<br />
038 ADD 127 07.127 erhöhe ihn um „1"<br />
lade den aktuellen Verlangsamungswert<br />
039 ABS 126 06.126 speichere ihn wieder: Die Schleife 025- 028 benötigt jetzt<br />
mehr Zeit („rollt langsamer")<br />
040 ANZ 02.000 Anzeigen des Verlangsamungswertes<br />
041 VKL124 13.124 ist er noch kleiner als der Startwert „40"?<br />
042 SPB 008 (C1) 11.008 falls ja, springe zur Muster-Ausgabe<br />
043 HLT 01.000 sonst HALT - die Kugel liegt fest<br />
044 SPU 001 (CO) 09.001 neuer Start - ein neues Glück bei 001<br />
123<br />
-<br />
-<br />
Tastenzustand: „1" = frei „0" = gedrückt<br />
gleichzeitig Zeichen für das „Ausrollen"<br />
124 00.040 „40" als Schrittzahl bis zum Stillstand<br />
125<br />
126<br />
LED-Muster (Startwert: 00000001 = „1")<br />
aktueller Verlangsamungswert<br />
127 00.001 Zählerschrittweite