Hier 256K für euch, zum Abtippen:
1 MEMORY &A000:MODE 1:FOR i=1 TO 49:READ a$:POKE &A000+i,VAL("&"+a$):NEXT:CALL &A000
2 DATA 3E,4B,06,00,CD,5A,BB,04,20,FA,3E,0D,CD,5A,BB,3E,0A,CD,5A,BB,3E,32,CD,5A,BB,3E,35,CD,5A,BB,3E,36,CD,5A,BB,3E,4B,CD,5A,BB,3E,21,CD,5A,BB,CD,06,BB,C9
Abtippen? Das ist doch nimmer zeitgemäß. Die kann man doch in 2020 auch runterladen. ;D
Sogar ganz und gar umsonst (und kostenlos):
https://downloadmoreram.com/download.html
Quote from: TFM on 02. April 2020, 16:55:23
Abtippen? Das ist doch nimmer zeitgemäß. Die kann man doch in 2020 auch runterladen. ;D
Sogar ganz und gar umsonst (und kostenlos):
https://downloadmoreram.com/download.html
Schon, aber nicht für den CPC!
Quote from: TFM on 02. April 2020, 16:55:23
Abtippen? Das ist doch nimmer zeitgemäß.
Stimmt, ein Microcontroller kann das übernehmen.
Quote from: almasys on 02. April 2020, 18:48:55
Quote from: TFM on 02. April 2020, 16:55:23
Abtippen? Das ist doch nimmer zeitgemäß.
Stimmt, ein Microcontroller kann das übernehmen.
Was sehen wir hier denn Schönes?
Die 10 Käfer in der Reihe sind Schieberegister á 8 Bit. Jedes dieser Schieberegister repräsentiert eine Tastenzeile.
Wie im CPC aktiviert ein 74LS145 (das IC in der Mitte) die jeweils gewünschte Tastenzeile, die dann vom Soundchip abgefragt wird.
Die Beschickung dieses 8x10 Bit erledigt ein ProMicro. Der zählt (über die Ausgänge der PIO) und misst zeitlich (für Situationen in denen der Zeilendraht gar nicht gewechselt wird), ob eine Tastenzeile bereits abgefragt wurde.
Das heisst, ich habe Dein 256K-Programm gar nicht eingetippt, sondern ein Terminalprogramm unter Linux aufgemacht und das Listing in den ProMicro geschuppst. Der hat das dann eingetippt. Diese Schaltung ist eine zweite Tastatur am CPC. Und ein Reset-Button.
Hmmm man hätte das Listing auch als Textdatei auf Disk schreiben können und dann mit LOAD" laden :D
Aber so gehts natürlich auch ;)
Meine Ursprüngliche Idee war, einen ProMicro per Interrupt auf die Umschaltung des Zeilendrahtes reagieren zu lassen. Das war meistens schnell genug - manchmal wurde also eine Taste der nachfolgenden Zeile versehentlich mitgedrückt. Darum die Lösung mit den Schieberegistern. Schon klar, dass ich damit mehr Aufwand in den Aufbau der Schaltung gesteckt habe, als ich in diesem Leben an Zeit dadurch einsparen werde.
Wie schnell ist es denn?
Autotype im Emulator (regulär) "darf" alle 2 VSync eine Taste drücken und alle 2 VSync später, wieder lösen... Macht 8 Zeichen pro Sekunde ca. (50/6)
JavaCPC ist da noch was anders, da schreibe ich den String direkt in den Tastaturbuffer, und brauche pro Zeile somit nur 1x "Enter" drücken und lösen...
Quote from: Devilmarkus on 03. April 2020, 14:47:05
Wie schnell ist es denn?
Autotype im Emulator (regulär) "darf" alle 2 VSync eine Taste drücken und alle 2 VSync später, wieder lösen... Macht 8 Zeichen pro Sekunde ca. (50/6)
Dazu steht in meinem Sketch
const int8_t delayscans[]={1,-3};
, ein Tastendruck wird von der Firmware beim ersten Scan regisitriert, damit eine Taste als losgelassen registriert wird braucht es drei Durchläufe. Es gibt ja noch die Möglichkeit, dass ein Tastendraht gar nicht angewählt wird, daher berücksichtige ich noch die zeitliche Komponente. Stell Dir ein Spiel vor, das nur den Joydstick abfragt. Oder ich habe da eine Situation, da frage ich nur ESC ab.
QuoteJavaCPC ist da noch was anders, da schreibe ich den String direkt in den Tastaturbuffer, und brauche pro Zeile somit nur 1x "Enter" drücken und lösen...
Und woher weisst Du, dass ein Tastaturpuffer existiert?
Quote from: almasys on 03. April 2020, 11:19:43
Das heisst, ich habe ... gar nicht eingetippt, sondern ein Terminalprogramm ... aufgemacht und das Listing in den ProMicro geschuppst. Der hat das dann eingetippt. Diese Schaltung ist eine zweite Tastatur am CPC. ...
Faszinierend! So etwas wollte ich immer auch schon haben, so dass ein Computer einen anderen Programmieren kann. Wunderbar! :smiley027:
Bei der Entwicklung von FutureOS habe ich sogar darauf schon Rücksicht genommen, und die Tastatureingabe so ausgelegt, dass sie von etwas sehr viel schnellerem als einem Menschen bedient werden kann.
Es wäre schön, wenn ich die Schaltung z.B. auf der XzentriX 2020 mal sehen könnte.
Quote from: TFM on 03. April 2020, 15:22:47
Quote from: almasys on 03. April 2020, 11:19:43
Das heisst, ich habe ... gar nicht eingetippt, sondern ein Terminalprogramm ... aufgemacht und das Listing in den ProMicro geschuppst. Der hat das dann eingetippt. Diese Schaltung ist eine zweite Tastatur am CPC. ...
Faszinierend! So etwas wollte ich immer auch schon haben, so dass ein Computer einen anderen Programmieren kann. Wunderbar! :smiley027:
Da mein Druckerport eine USB-Tastatur ist kann auch der CPC in die Linux-Kiste etwas eintippen. Sie könnten sich also gegenseitig programmieren.
Na, DAS kann der Linux Kiste sicher nicht schaden ;) :zunge0020: :smiley027:
Quote from: almasys on 03. April 2020, 15:17:49
Und woher weisst Du, dass ein Tastaturpuffer existiert?
Nun, der CPC hat einen einzeiligen Buffer, der somit 255 Chars enthalten kann. Füllt man diesen Buffer und drückt dann "Enter" ist der Text eingegeben ;)
Die Adresse dafür im RAM ist je nach CPC-Modell unterschiedlich, mein Emulator erkennt das allerdings...
Geht auch schön fix so ;)
https://cpcwiki.de/bastype/bastype.mp4