Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
homecomputer:gmc-4 [2014/12/17 12:55] – [Prozesssor] volkerphomecomputer:gmc-4 [2018/11/26 13:05] (aktuell) – [Downloads] volkerp
Zeile 5: Zeile 5:
  
 Dezember 2014 gab es das Franzis Lernpaket "Spielecomputer selbst programmieren" mit dem GMC-4 und einem 96seitigen Handbuch von F. Kainka für nur 20€, so dass ich mir auch einen solchen kleinen Computer zugelegt habe. Dezember 2014 gab es das Franzis Lernpaket "Spielecomputer selbst programmieren" mit dem GMC-4 und einem 96seitigen Handbuch von F. Kainka für nur 20€, so dass ich mir auch einen solchen kleinen Computer zugelegt habe.
 +
 +{{:homecomputer:franzis-gmc4.jpg?300|}}
  
 ===== Systembeschreibung ===== ===== Systembeschreibung =====
  
-Bild, kurze Beschreibung+Bild, kurze Beschreibung, https://en.wikipedia.org/wiki/GMC-4 
 + 
 +{{:homecomputer:gmc4.jpg?300|}} 
 + 
 +Der GMC-4 ist ein 4-Bit-Microcomputer. 
 + 
 +Der GMC-4 verfügt über einen einfachen Befehlssatz, der an Assembler angelehnt ist, teilweise aber auch höhere Funktionen enthält, hinter denen sich komplexe Routinen verstecken. 
 + 
 +Es gibt vier 4-Bit-Register A, B, Y und Z und einen zusätzlichen zweiten Registersatz A‘, B‘, Y‘ und Z‘. Jedes dieser Register kann eine Zahl zwischen 0 und 15 enthalten. Die meisten Befehle verwenden das Register A. 
 + 
 +Der Einplatinenrechner besitzt eine Hexadezimal-Tastatur, 4 Funktionstasten, 7 LEDs und eine einstellige 7-Segmentanzeige. 
 +Außerdem gibt es einen kleinen Lautsprecher zur Tonausgabe. 
 + 
 +===== Downloads ===== 
 + 
 +  * Reasembler gmc4_reass2.pl {{ :homecomputer:gmc4_reass2.zip |}} 
 +  * alle Beispielprogramme aus dem originalen Handbuch liegen dem Simulatorpaket GMC4Sim-1_38.zip bei (http://dansan.air-nifty.com/blog/gmc4-simulator.html). 
 +  * 2018 neuer Download, da obiger Download nicht mehr funktioniert: https://github.com/ypsitau/gmc4sim\\ https://github.com/ypsitau/gmc4sim/releases/download/v1.39/gmc4sim-1.39.zip 
 +  * Anleitung (engl., GMC-4-Manual) {{ :homecomputer:vol24_microcomputer_gmc-4.pdf |}} 
  
 ===== technische Daten ===== ===== technische Daten =====
Zeile 27: Zeile 48:
 Das Konzept ist ähnlich der [[homecomputer:chip8]]-Sprache. Das Konzept ist ähnlich der [[homecomputer:chip8]]-Sprache.
  
-Im Science Fair Microcomputer Trainer wird ein spezieller Microcontroller der [[http://www.datamath.org/Story/Intel.htm#The TMS1000 Single Chip Calulators|TMS1000-Controller]] genutzt, speziell ein [[http://vintagecomputer.livejournal.com/67414.html|TMS1312]]. Dieser wurde mit 400 MHz betrieben.+Im Science Fair Microcomputer Trainer wird ein spezieller Microcontroller der Serie[[http://www.datamath.org/Story/Intel.htm#The TMS1000 Single Chip Calulators|TMS1000-Controller]] genutzt, konkret ein [[http://vintagecomputer.livejournal.com/67414.html|TMS1312]]. Dieser wurde mit 400 kHz betrieben.
  
 ===== Literatur ===== ===== Literatur =====
  
-  -  +  - http://www.polylith.com/~brendan/ClassicComputers/Tandy/image/MCT_28_260.pdf (von http://www.polylith.com/~brendan/ClassicComputers/Tandy/uCptrTrainManual1.html) Das originale Handbuch zum Microcomputer Trainer. Das Handbuch ist komplett für den GMC-4 nutzbar! 
- +  - http://otonanokagaku.net/magazine/vol24/pdf/vol24manual.pdf Das Handbuch zum FX-165. Das ist i.W. eine japanische Übersetzung des obigen Handbuchs. Die 100 Beispielprogrammedie Kapitelnummern u.a. stimmen überein! 
-===== Downloads ===== +  - http://fkainka.de/tag/gmc-4/
- +
-  * Anleitung, ..+
  
 ===== Bedienung ===== ===== Bedienung =====
Zeile 58: Zeile 77:
 ===== Sonstiges ===== ===== Sonstiges =====
  
-==== Prozesssor ====+==== Prozessor ====
  
 Es wird ein spezieller 4-Bit-Prozessor simuliert. Es wird ein spezieller 4-Bit-Prozessor simuliert.
Zeile 113: Zeile 132:
 | E C | CAL TIMR | 1 | (A + 1) * 0,1 Sekunden warten |  | E C | CAL TIMR | 1 | (A + 1) * 0,1 Sekunden warten | 
 | E D | CAL DSPR (Display on Port R) | 1 | Ausgabe der RAM-Adressen 5F (high) und 5E  (low) an die LEDs |  | E D | CAL DSPR (Display on Port R) | 1 | Ausgabe der RAM-Adressen 5F (high) und 5E  (low) an die LEDs | 
 +
 +==== Reassembler ====
 +
 +Ich habe einen kleinen kommentierenden Reassembler gmc4_reass2.pl in Perl geschrieben. Aus dem Hexcode
 +
 +  E D 8 0 E C A F 5 E 6 F 1 A 4 A E 5 E 6 9 8 4 F 2 1 4 A E 5 E 6 4 0 F 0 0 A F 5 9 8 4 F 0 0
 +
 +macht er folgendes (Beispiel binary_light_show.asm):
 +
 +<code>
 +00: E D   LBL_00: CAL DSPR     ; Ausgabe der RAM-Adressen M[F] (high) und M[E] (low) an die LEDs
 +02: 8 0           TIA 0        ; Konstante 0 in A laden
 +04: E C           CAL TIMR     ; (A + 1) * 0,1 Sekunden warten
 +06: A F           TIY F        ; Konstante 15 in Y laden
 +08: 5             MA           ; RAM-Adr M[Y] in A zurücklesen
 +09: E 6           CAL SIFT     ; A-Register bitweise nach rechts schieben
 +0B: F 1A          JUMP LBL_1A  ; wenn das rechte Bit 0 war Sprung zur Adresse LBL_1A
 +0E: 4             AM           ; A in RAM-Adr M[Y] kopieren
 +0F: A E           TIY E        ; Konstante 14 in Y laden
 +11: 5             MA           ; RAM-Adr M[Y] in A zurücklesen
 +12: E 6           CAL SIFT     ; A-Register bitweise nach rechts schieben
 +14: 9 8           AIA 8        ; 8 zu A addieren
 +16: 4             AM           ; A in RAM-Adr M[Y] kopieren
 +17: F 21          JUMP LBL_21  ; Sprung zur Adresse LBL_21
 +1A: 4     LBL_1A: AM           ; A in RAM-Adr M[Y] kopieren
 +1B: A E           TIY E        ; Konstante 14 in Y laden
 +1D: 5             MA           ; RAM-Adr M[Y] in A zurücklesen
 +1E: E 6           CAL SIFT     ; A-Register bitweise nach rechts schieben
 +20: 4             AM           ; A in RAM-Adr M[Y] kopieren
 +21: 0     LBL_21: KA           ; Tastendruck nach A übernehmen
 +22: F 00          JUMP LBL_00  ; wenn kein Tastendruck Sprung zur Adresse LBL_00
 +25: A F           TIY F        ; Konstante 15 in Y laden
 +27: 5             MA           ; RAM-Adr M[Y] in A zurücklesen
 +28: 9 8           AIA 8        ; 8 zu A addieren
 +2A: 4             AM           ; A in RAM-Adr M[Y] kopieren
 +2B: F 00          JUMP LBL_00  ; Sprung zur Adresse LBL_00
 +</code>
 +
  • homecomputer/gmc-4.1418820950.txt.gz
  • Zuletzt geändert: 2014/12/17 12:55
  • von volkerp