Discussion:
Diskettenlaufwerk Sharp CE-140F
Add Reply
Arno Welzel
2021-04-09 12:28:44 UTC
Antworten
Permalink
Kürzlich ist mir ein sehr gut erhaltener Sharp PC-1403H mit
Kassetten-Interface CE-124 zugeflogen. In ein paar Wochen kommt noch ein
CE-126P und ein PC-1360 mit zwei Speichermodulen dazu.

Für diese Geräte gab es auch ein Diskettenlaufwerk, CE-140F:

<http://pocket.free.fr/html/sharp/ce-140f_e.html>

Ich habe auch eine Seite im Netz gefunden, die eine Art "Emulator"
beschreibt, wo man am anderen Ende einen PC via RS232 anschließt, der
dann per Software ein wählbares Verzeichnis als Laufwerk präsentiert:

<https://www.simon-lehmayr.de/PC-1403/d_hardware.htm#sl16>

Die Software dazu gibt es aber nur für DOS und ohne Quellen dazu. Ich
habe Simon Lehmayr schon angeschrieben, ob er die Quellen anbieten würde
oder eien Dokumentation des Protokolls.

Für den Fall, dass Simon Lehmayr nichts dazu anbieten kann oder möchte:
kennt jemand eine Dokumentation des Protokolls, das für die
Kommunikation zwischen den Sharp Pocket Computern wie und dem CE-140F
verwendet wird?
--
Arno Welzel
https://arnowelzel.de
Kay Martinen
2021-04-09 13:08:15 UTC
Antworten
Permalink
Post by Arno Welzel
Kürzlich ist mir ein sehr gut erhaltener Sharp PC-1403H mit
Ich habe auch eine Seite im Netz gefunden, die eine Art "Emulator"
beschreibt, wo man am anderen Ende einen PC via RS232 anschließt, der
<https://www.simon-lehmayr.de/PC-1403/d_hardware.htm#sl16>
Die Software dazu gibt es aber nur für DOS und ohne Quellen dazu. Ich
Wenn du kein DOS hast, das ist ja nun kein Problem. Denn wenn du keinen
DOS-Tauglichen PC hättest...
... würde dir der Quellkode doch auch nicht viel nützen. Oder willst du
das für ein anderes OS übersetzen/anpassen/Kompilieren?

Wenn FreeDOS nicht geht. Ältere DOS Versionen gibt es zum DL. Imho bei

https://winworldpc.com/product/ms-dos/622

Kay
--
Posted via leafnode
olaf
2021-04-09 14:42:13 UTC
Antworten
Permalink
Post by Kay Martinen
... würde dir der Quellkode doch auch nicht viel nützen. Oder willst du
das für ein anderes OS übersetzen/anpassen/Kompilieren?
Er koennte dann ja die Kommandos auslesen. Die Kommunikation basiert
mit Sicherheit auf einem seriellen Protokoll.
Ich selbst hab mich mit der CE-140 damals nicht befasst, allerdings mal
irgenwann was in der Richtung fuer einen 1245 geschrieben.
Allerdings waren an dem 15pin-port zwei Leutungen fuer die CE140 reserviert.
(Pin12 und Pin 15)

Wundert mich aber das dies noch niemand irgendwo im Internet dokumentiert hat.
Kann doch keine grosse Sache sein.

Hiermit koennte ich dienen:

; *****************************************************
; * P C - C O M V1.1 4Mhz *
; * Unterstuezt INSTAT, OUTSTAT, COM$ und simuliert *
; * einen CE-125 Drucker (LPRINT und LLIST moeglich) *
; * P26/Dout, P27/STR, P25/Din, P24/ACK *
; *****************************************************

Das hab ich damals (aechz) fuer einen MCS48 in Assembler
geschrieben um einen CE-125 zu simulieren. Da wird es sicher
zumindest Aehnlichkeiten zur CE140 geben.

Benutzt die CE140 die Befehle Open, Save, Load und close wie
die serielle Schnittstelle?

Ich weiss zumindest das es die Doku dazu gab weil ich sie
damals mal in den Fingern hielt, aber mich hat der Floppykram
nicht besondern interessiert. Mir ging es um die RS232 an dem
PC1275 und dem Eigenbau von Speicherkarten.

Vermutlich wäre es heute aber einfacher sich einen Adapter zu bauen
wo man die Sharp-Speicherkarten reinsteck und direkt in
den PC kopiert. Das ist ja eine Kleinigkeit.


Das Teil ist mit seiner 2.5" Floppy das zweitcoolste was es zum
Thema Diskettenlaufwerke gibt. Das coolste ist die allererste
Sonymavica die auf einer Diskette pro Spur ein Digitalphoto
analog aufgezeichnet hat. Das Bild hat sogar auf dem Monitor
gezittert wenn man an der Kamera bei der Wiedergabe gewackelt
hat weil die Signalfrequenz wabberte. :-D

Den 1350/1360 finde ich im uebrigen ziemlich doof. Ich hab auch
noch einen weil ich den vor ein paar Jahren mal fuer einen 5er auf
dem Flohmarkt bekommen habe. Das war aber der erste Rechner mit
so grossem grafischen LCD und der Kontrastumfang dieser Teile war
leider megagrottig. Da ist ein 1475 10x schoener.

Olaf
Arno Welzel
2021-04-13 15:38:10 UTC
Antworten
Permalink
Post by olaf
Post by Kay Martinen
... würde dir der Quellkode doch auch nicht viel nützen. Oder willst du
das für ein anderes OS übersetzen/anpassen/Kompilieren?
Er koennte dann ja die Kommandos auslesen. Die Kommunikation basiert
mit Sicherheit auf einem seriellen Protokoll.
Ich selbst hab mich mit der CE-140 damals nicht befasst, allerdings mal
irgenwann was in der Richtung fuer einen 1245 geschrieben.
Allerdings waren an dem 15pin-port zwei Leutungen fuer die CE140 reserviert.
(Pin12 und Pin 15)
Wundert mich aber das dies noch niemand irgendwo im Internet dokumentiert hat.
Kann doch keine grosse Sache sein.
; *****************************************************
; * P C - C O M V1.1 4Mhz *
; * Unterstuezt INSTAT, OUTSTAT, COM$ und simuliert *
; * einen CE-125 Drucker (LPRINT und LLIST moeglich) *
; * P26/Dout, P27/STR, P25/Din, P24/ACK *
; *****************************************************
Das hab ich damals (aechz) fuer einen MCS48 in Assembler
geschrieben um einen CE-125 zu simulieren. Da wird es sicher
zumindest Aehnlichkeiten zur CE140 geben.
Benutzt die CE140 die Befehle Open, Save, Load und close wie
die serielle Schnittstelle?
CE-125 verwendet nicht "save" und "load" sondern "csave" und "cload".
Das ist etwas anderes.

Beim CE-140F bekommt man mit "files" das Inhaltsverzeichnis aufeglistet
und mit "load" (nicht "cload") kann man Dateien laden, wobei man auch
den Laufwerksbuchstaben dazu angibt, z.B.:

LOAD "X:PROGRAM.BAS"

Der DOS-Emulator kann "X:" und "Y:" emulieren und dafür jeweils ein
eigenes Verzeichnis auf dem PC dafür verwenden.

[...]
Post by olaf
Ich weiss zumindest das es die Doku dazu gab weil ich sie
damals mal in den Fingern hielt, aber mich hat der Floppykram
nicht besondern interessiert. Mir ging es um die RS232 an dem
PC1275 und dem Eigenbau von Speicherkarten.
Du meinst vermutlich PC-1475 und nicht PC-1275.
Post by olaf
Vermutlich wäre es heute aber einfacher sich einen Adapter zu bauen
wo man die Sharp-Speicherkarten reinsteck und direkt in
den PC kopiert. Das ist ja eine Kleinigkeit.
Für mich wäre es keine Kleinigkeit. Löten ist für mich zwar kein
Problem, aber für die Speicherkarten braucht man einen passenden Stecker
mit recht knappem Rastermaß (ich hab's nicht nachgemessen, aber ist ist
deutlich weniger als 2,54mm) und einen Controller, der das Ding ansteuert.

Ein RS232-Adapter an einer 11-fach-Stiftleiste mit 2,54mm Rastermaß und
passende Software erscheint mir da einfacher.

[...]
Post by olaf
Den 1350/1360 finde ich im uebrigen ziemlich doof. Ich hab auch
noch einen weil ich den vor ein paar Jahren mal fuer einen 5er auf
dem Flohmarkt bekommen habe. Das war aber der erste Rechner mit
so grossem grafischen LCD und der Kontrastumfang dieser Teile war
leider megagrottig. Da ist ein 1475 10x schoener.
Ich habe den 1360 samt Speicherkarten (1x8KB und 1x32KB) mittlerweile
bekomen. Ja der Kontrast ist nicht so toll. Dafür ist das Ding quasi
Neuzustand, wie auch der 1403H :-). Der Drucker 126P ist auch fast wie
neu - ich musste allerdings hier den Kontrast etwas erhöhen, weil die
Ausdrucke auf dem alten Thermopapier arg blass waren. Im auf der Platine
gibt es aber erfreulicherweise ein kleines Poti dafür. Das kann man zwar
nur mit einem Zahnstocher sinnvoll einstellen, aber dafür habe ich jetzt
wieder schön tiefschwarze Ausdrucke.

Ach ja - mein Plan ist, mit den Dingern vielleicht auf dem nächsten
Vintage Computing Festival Berlin vorbeizuschauen. Vielleicht kann ich
bis dahin auch noch ein paar Spielereien mit den I/O-Ports anstellen.
--
Arno Welzel
https://arnowelzel.de
olaf
2021-04-13 16:19:50 UTC
Antworten
Permalink
Post by Arno Welzel
Für mich wäre es keine Kleinigkeit. Löten ist für mich zwar kein
Problem, aber für die Speicherkarten braucht man einen passenden Stecker
mit recht knappem Rastermaß (ich hab's nicht nachgemessen, aber ist ist
deutlich weniger als 2,54mm)
HM..im Original sind das ja diese Gummipoempels. Da muesste man sich
vieleicht wirklich was basteln.
Post by Arno Welzel
und einen Controller, der das Ding ansteuert.
Ja sicher, aber eher einfach. An den Karten liegt ja im Prinzip direkt
ein SRAM an. DA ist wohl die Steckermechanik die groessere
Herausforderung.
Den Bus kann man ja auch diskret nachprogrammieren. Man muss ja bei
den kleinen Karten nicht das maximale an Geschwindigkeit rausholen was geht.
Post by Arno Welzel
Ich habe den 1360 samt Speicherkarten (1x8KB und 1x32KB) mittlerweile
bekomen. Ja der Kontrast ist nicht so toll. Dafür ist das Ding quasi
Neuzustand, wie auch der 1403H :-). Der Drucker 126P ist auch fast wie
Schon erstaunlich was man frueher alles so akzeptiert hat. Aehnliche
Gedanken kommen mir auch wenn man den ersten Gameboy sieht.
Post by Arno Welzel
nur mit einem Zahnstocher sinnvoll einstellen, aber dafür habe ich jetzt
wieder schön tiefschwarze Ausdrucke.
Nur wie lange.
Post by Arno Welzel
Ach ja - mein Plan ist, mit den Dingern vielleicht auf dem nächsten
Vintage Computing Festival Berlin vorbeizuschauen. Vielleicht kann ich
bis dahin auch noch ein paar Spielereien mit den I/O-Ports anstellen.
Ich glaub in einer c't war auch mal was zum Thema Druckerport drin.
Mal kurz kucken....

Titel : Grosse Drucker fuer kleine Rechenr
Untertitel : Centronics-Interface fuer Sharp PC-1401/02
Autor(en) : Reinhard Kerbstadt, Uwe Krumm, Joerg Trautmann
Redakteur : ja
Zeitschrift : c't 11/86, S. 164
Schlagwoerter: Projekt

Titel : Tore zur Welt
Untertitel : RS-232- und Centronics-Schnittstelle fuer Sharp PC-1401/2/3
Autor(en) : Ansgar Boczek-Funcke
Redakteur : be
Zeitschrift : c't 3/89, S. 144
Querverweise: siehe 5/89, S. 15 und c't 7/89, S. 12
Schlagwoerter: Programm

Sogar zweimal...

Hast du auch Speicherkarten? Die waren damals ja teuer. Ich hab damals
die 2k Karten immer auf 32k aufgeruestet und auch mal eine Platine gemacht
wo man direkt einen 32k Chip aufloeten konnte und die Platine als
Karte verwenden konnte. Ein Bild davon muesste ich liefern
koennen, war aber noch von Hand auf Butterbrotpapier gerubbelt, oder
vielleicht mit Tusche gemacht. Aber jedenfalls nicht mit Layousoftware.
Sollte man aber heute in eine halben Stunden nachmalen koennen und dann
bei Elecrow fertigen lassen.


Olaf
Andreas Kohlbach
2021-04-13 20:46:21 UTC
Antworten
Permalink
Post by Arno Welzel
Post by olaf
Post by Kay Martinen
... würde dir der Quellkode doch auch nicht viel nützen. Oder willst du
das für ein anderes OS übersetzen/anpassen/Kompilieren?
Er koennte dann ja die Kommandos auslesen. Die Kommunikation basiert
mit Sicherheit auf einem seriellen Protokoll.
Ich selbst hab mich mit der CE-140 damals nicht befasst, allerdings mal
irgenwann was in der Richtung fuer einen 1245 geschrieben.
Allerdings waren an dem 15pin-port zwei Leutungen fuer die CE140 reserviert.
(Pin12 und Pin 15)
Wundert mich aber das dies noch niemand irgendwo im Internet dokumentiert hat.
Kann doch keine grosse Sache sein.
; *****************************************************
; * P C - C O M V1.1 4Mhz *
; * Unterstuezt INSTAT, OUTSTAT, COM$ und simuliert *
; * einen CE-125 Drucker (LPRINT und LLIST moeglich) *
; * P26/Dout, P27/STR, P25/Din, P24/ACK *
; *****************************************************
Das hab ich damals (aechz) fuer einen MCS48 in Assembler
geschrieben um einen CE-125 zu simulieren. Da wird es sicher
zumindest Aehnlichkeiten zur CE140 geben.
Benutzt die CE140 die Befehle Open, Save, Load und close wie
die serielle Schnittstelle?
CE-125 verwendet nicht "save" und "load" sondern "csave" und "cload".
Das ist etwas anderes.
Steht CLOAD nicht für "Cassette Load"? Bei einigen Computer gibt es auch
MLOAD, was dann AFAIK für Maschinen-Programme ist. Ähnlich wie

LOAD "PROGRAM",8,1

beim Commodore 64. Andernfalls wird an die "BASIC-Start" Adresse
geladen. Wird wohl bei den meisten Computern so sein, dass der einfachste
LOAD-Befehl an den BASIC-Start lädt.

Ich habe vor Jahren mal eine natürlich unvollständige Webseite erstellt,
wie man mit 8Bit Computern von Kassette oder Floppy lädt
http://www.ankman.de/load_cassette_tape_8bit_computers.html>.

Vielleicht sollte ich den CE-XXX mal aufnehmen.
--
Andreas
Kay Martinen
2021-04-15 14:39:41 UTC
Antworten
Permalink
Post by Andreas Kohlbach
Post by Arno Welzel
Post by olaf
Post by Kay Martinen
... würde dir der Quellkode doch auch nicht viel nützen. Oder willst du
das für ein anderes OS übersetzen/anpassen/Kompilieren?
Er koennte dann ja die Kommandos auslesen. Die Kommunikation basiert
mit Sicherheit auf einem seriellen Protokoll.
Benutzt die CE140 die Befehle Open, Save, Load und close wie
die serielle Schnittstelle?
CE-125 verwendet nicht "save" und "load" sondern "csave" und "cload".
Das ist etwas anderes.
Steht CLOAD nicht für "Cassette Load"? Bei einigen Computer gibt es auch
Ich sah hier im Thread unter irgend einem Link eine Grafik in der das
die Bezeichnung eines Signal-Pins war. Muß sich ja nicht ausschließen.
Post by Andreas Kohlbach
MLOAD, was dann AFAIK für Maschinen-Programme ist. Ähnlich wie
Oder der gleiche Pin wird zwar seriell aber dann nur anders angesteuert.
Bei Cassette würde ich bei CSAVE einen kontinuierlichen Signalstrom
erwarten der erst endet wenn alle Programmdaten raus geschrieben wurden.
Das ist; seriell betrachtet; eher ein monolog also nicht mal halbduplex.

Bei einem Aktiven Partner am anderen Ende des Seriellen Links könnte es
aber interaktiver vorgehen. Anforderung, Antwort u.s.w. also das was
eine Diskstation auch tun könnte wenn sie einen eigenen Prozessor hätte.

Commodores IEC ist auch nur ein Serieller Bus.
Post by Andreas Kohlbach
LOAD "PROGRAM",8,1
beim Commodore 64. Andernfalls wird an die "BASIC-Start" Adresse
geladen. Wird wohl bei den meisten Computern so sein, dass der einfachste
LOAD-Befehl an den BASIC-Start lädt.
Beim 128'er BASIC ist SAVE für die Kasette. DLOAD, DSAVE für
Basic-Programme und BLOAD, BSAVE für Binärprogramme. Die man mit
letzterem auch noch in unterschiedliche Speicherbänke legen kann.

https://www.manualslib.de/download/346496/Commodore-128.html

Kay
--
Posted via leafnode
Andreas Kohlbach
2021-04-15 15:09:31 UTC
Antworten
Permalink
Post by Kay Martinen
Post by Andreas Kohlbach
LOAD "PROGRAM",8,1
beim Commodore 64. Andernfalls wird an die "BASIC-Start" Adresse
geladen. Wird wohl bei den meisten Computern so sein, dass der einfachste
LOAD-Befehl an den BASIC-Start lädt.
Beim 128'er BASIC ist SAVE für die Kasette. DLOAD, DSAVE für
Basic-Programme und BLOAD, BSAVE für Binärprogramme. Die man mit
letzterem auch noch in unterschiedliche Speicherbänke legen kann.
Vermutlich ein "Alias" für

SAVE "NAME",8,1

wie es DIRECTORY für

LOAD "$",8:LIST

ist.
--
Andreas
Kay Martinen
2021-04-15 15:43:32 UTC
Antworten
Permalink
Post by Andreas Kohlbach
Post by Kay Martinen
Post by Andreas Kohlbach
LOAD "PROGRAM",8,1
beim Commodore 64. Andernfalls wird an die "BASIC-Start" Adresse
geladen. Wird wohl bei den meisten Computern so sein, dass der einfachste
LOAD-Befehl an den BASIC-Start lädt.
Beim 128'er BASIC ist SAVE für die Kasette. DLOAD, DSAVE für
Basic-Programme und BLOAD, BSAVE für Binärprogramme. Die man mit
letzterem auch noch in unterschiedliche Speicherbänke legen kann.
Vermutlich ein "Alias" für
SAVE "NAME",8,1
wie es DIRECTORY für
LOAD "$",8:LIST
ist.
Wenn du DLOAD meint kann das sein.
Ich hab jetzt nicht überprüft ob die Basic-tokens von BLOAD und LOAD die
gleichen wären aber ich glaube das eigentlich nicht. Denn mit dem
normalen LOAD kannst du mittels 8,1 nur an eine im Programm festgelegte
Adresse laden. BLOAD lädt an eine im Befehl angegebene Bank und Adresse.

Wenn der Code keine Absoluten Adressen auf sich selbst hat dann geht das.


Kay
--
Posted via leafnode
Stefan+ (Stefan Froehlich)
2021-04-15 17:43:56 UTC
Antworten
Permalink
Post by Kay Martinen
Post by Andreas Kohlbach
Post by Kay Martinen
Beim 128'er BASIC ist SAVE für die Kasette. DLOAD, DSAVE für
Basic-Programme und BLOAD, BSAVE für Binärprogramme. Die man
mit letzterem auch noch in unterschiedliche Speicherbänke legen
kann.
Vermutlich ein "Alias" für
SAVE "NAME",8,1
wie es DIRECTORY für
LOAD "$",8:LIST
ist.
Wenn du DLOAD meint kann das sein.
Annähernd, die beiden Befehle unterscheiden sich eigentlich nur in
der Ermittlung der Parameter, danach ruft DLOAD einfach LOAD auf.
Post by Kay Martinen
Ich hab jetzt nicht überprüft ob die Basic-tokens von BLOAD und
LOAD die gleichen wären aber ich glaube das eigentlich nicht.
Sind sie nicht. BLOAD ruft den Kernel eigenständig auf (anstatt wie
DLOAD über den Umweg von LOAD) und springt erst danach für das
letzte bisschen Code (was auch immer, ich habe das jetzt nicht im
Detail analysiert) zu LOAD.

Servus,
Stefan
--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Stefan - mit dem sympathischen Hoffen harmonischer Klinken.
(Sloganizer)
Gerrit Heitsch
2021-04-15 16:02:16 UTC
Antworten
Permalink
Post by Andreas Kohlbach
Vermutlich ein "Alias" für
SAVE "NAME",8,1
wie es DIRECTORY für
LOAD "$",8:LIST
ist.
Letzteres nicht. Im Gegensatz zu dem LOAD-Befehl zerstört 'DIRECTORY'
nicht das aktuell im Speicher befindliche Programm.

Bei der CBM-Serie mit BASIC 4.0 gab es noch CATALOG als Befehl, machte
dasselbe die der dort auch vorhandene Befehl DIRECTORY, nur konnte man
den besser abkürzen.

Gerrit
Arno Welzel
2021-04-13 12:28:54 UTC
Antworten
Permalink
Post by Kay Martinen
Post by Arno Welzel
Kürzlich ist mir ein sehr gut erhaltener Sharp PC-1403H mit
Ich habe auch eine Seite im Netz gefunden, die eine Art "Emulator"
beschreibt, wo man am anderen Ende einen PC via RS232 anschließt, der
<https://www.simon-lehmayr.de/PC-1403/d_hardware.htm#sl16>
Die Software dazu gibt es aber nur für DOS und ohne Quellen dazu. Ich
Wenn du kein DOS hast, das ist ja nun kein Problem. Denn wenn du keinen
DOS-Tauglichen PC hättest...
... würde dir der Quellkode doch auch nicht viel nützen. Oder willst du
das für ein anderes OS übersetzen/anpassen/Kompilieren?
Korrekt. Ich würde das gerne für Linux portieren und auf einem Raspberry
Pi einsetzen, der dann "Diskettenlaufwerk" für die Sharp Pocket-Computer
spielen soll.
--
Arno Welzel
https://arnowelzel.de
olaf
2021-04-09 14:54:14 UTC
Antworten
Permalink
Arno Welzel <***@arnowelzel.de> wrote:

Versuch mal ob du irgendwo eine Kopie davon bekommst:

http://retrocomputer.umbrellanet.info/index.php?inhalt=extras&marke=Sharp&id=1269
http://retrocomputer.umbrellanet.info/index.php?inhalt=extras&marke=Sharp&id=711

Ich vermute (weil ich die Version zum 1245 kenne) das die darin das Rom
dekompiliert und erklaert haben.

Gesehen?:
https://manib.bplaced.net/blog/?page_id=885

Olaf
Arno Welzel
2021-04-13 15:41:13 UTC
Antworten
Permalink
Post by olaf
http://retrocomputer.umbrellanet.info/index.php?inhalt=extras&marke=Sharp&id=1269
http://retrocomputer.umbrellanet.info/index.php?inhalt=extras&marke=Sharp&id=711
Ich vermute (weil ich die Version zum 1245 kenne) das die darin das Rom
dekompiliert und erklaert haben.
Danke für den Hinweis. Mal sehen, ob ich was finde.
Post by olaf
https://manib.bplaced.net/blog/?page_id=885
Ja - ist über eine theoretiche Idee im Jahr 2015 leider nie hinausgekommen.
--
Arno Welzel
https://arnowelzel.de
Andreas Kohlbach
2021-04-09 22:43:58 UTC
Antworten
Permalink
Post by Arno Welzel
Kürzlich ist mir ein sehr gut erhaltener Sharp PC-1403H mit
Kassetten-Interface CE-124 zugeflogen. In ein paar Wochen kommt noch ein
CE-126P und ein PC-1360 mit zwei Speichermodulen dazu.
<http://pocket.free.fr/html/sharp/ce-140f_e.html>
Ich habe auch eine Seite im Netz gefunden, die eine Art "Emulator"
beschreibt, wo man am anderen Ende einen PC via RS232 anschließt, der
Der MAME Emulator scheint den 1403 (von 1986?) auch zu
unterstützen. Zeigt mir aber nicht, dass er eine RS232 Schnittstelle
hätte.

Auch 1260 und eine Handvoll anderer Sharps werden unterstützt. Was Dir
aber vermutlich nicht hilft.
--
Andreas

PGP fingerprint 952B0A9F12C2FD6C9F7E68DAA9C2EA89D1A370E0
olaf
2021-04-10 04:42:34 UTC
Antworten
Permalink
Post by Andreas Kohlbach
Der MAME Emulator scheint den 1403 (von 1986?) auch zu
unterstützen. Zeigt mir aber nicht, dass er eine RS232 Schnittstelle
hätte.
Die hatten auch keine RS232. Von den Pegeln her sowieso nicht,
und eine UART hatten sie IMHO auch nicht.

Ausserdem muss man unterscheiden. Die aelteren Geraete hatten auf der linken
Seite nur einen Anschluss mit 2.54mm Raster mit ein paar IOs, die neueren
hatten auf der rechten Seite noch einen Stecker im 1.27mm Raster. Dort
haben sie zumindestes aus dem Basic eine Schnittstelle unterstuetzt.
Man konnte also meine Schnittstelle unter Angabe der Baudrate oeffnen.
Ich denke aber intern war das auch alles Assembler.

Die alten Geraete (1245/51) hatten auch noch einen speziellen
Basisbefehl (output/outport?) der fuer die Kommunikation mit einem
Geraet gedacht war das es wohl nie gab. Ich hab da damals einen
AD-Wandler dran gehabt.


Die CPU war ja echt sehr armselig aus heutiger Sicht. Auch wenn es
natuerlich erstaunlich war das man damals programmierbare
Taschenrechner bauen konnte die montalang mit 2x2032 laufen konnten
und heute versucht man den Leuten Uhren anzudrehen die man jeden Tag
aufladen muss weil man zu dumm ist vernuenftige Betriebsysteme zu
schreiben.
Post by Andreas Kohlbach
Auch 1260 und eine Handvoll anderer Sharps werden unterstützt. Was Dir
aber vermutlich nicht hilft.
Naja, er koennte so einen Simulator vielleicht dazu verwenden das Rom zu
studieren. Haben die einen integrierten Debugger?

Olaf
Andreas Kohlbach
2021-04-10 18:45:15 UTC
Antworten
Permalink
Post by olaf
Post by Andreas Kohlbach
Der MAME Emulator scheint den 1403 (von 1986?) auch zu
unterstützen. Zeigt mir aber nicht, dass er eine RS232 Schnittstelle
hätte.
Die hatten auch keine RS232. Von den Pegeln her sowieso nicht,
und eine UART hatten sie IMHO auch nicht.
Gut, dann hat der Emu das richtig angezeigt. :-)

[...]
Post by olaf
Post by Andreas Kohlbach
Auch 1260 und eine Handvoll anderer Sharps werden unterstützt. Was Dir
aber vermutlich nicht hilft.
Naja, er koennte so einen Simulator vielleicht dazu verwenden das Rom zu
studieren. Haben die einen integrierten Debugger?
Ist ein Emulator, nicht Simulator. Aber ja
<https://docs.mamedev.org/debugger/index.html>.

Vermutlich kennen viele hier MAME. Wer nicht, und sich mit Hardware
beschäftigen will, die er nicht besitzt (und zu viel Zeit hat ;-), sollte
sich diesen anschauen. MAME kann alles emulieren, was einen
Mikroprozessor als CPU hat. Also alles seit dem Intel 4004. Sein
"Nachteil" ist, dass er langsamer als dedicated (auf die jeweilige Hardware
optimierte) Emulatoren ist, weil keine "Tricks" zur Beschleunigung
angewandt werden. So gibt es für den Commodore 64 (und andere Commodore
Maschinen) VICE, der schneller als MAME einen C64 emuliert. MAME ist aber
"genauer" in der Emulation.

So könnte MAME auch eine Playstation 6 emulieren, die vermutlich gerade
erst in der Entwicklung ist, wenn die Hardware-Spezifikationen bekannt
wären. Das Problem ist natürlich, dass es derzeit keine PC-Hardware gibt,
die schnell genug wäre, alle Hardware-Komponenten zu emulieren.

MAME kann auch Prototypen emulieren, die es nie über das
Entwicklungsstadium hinaus brachten. Wie beispielsweise einen
Commodore *65*.

<https://news-commentaries.blogspot.com/2017/11/the-mame-emulator.html>
--
Andreas
Kay Martinen
2021-04-10 20:53:44 UTC
Antworten
Permalink
Post by Andreas Kohlbach
sich diesen anschauen. MAME kann alles emulieren, was einen
Mikroprozessor als CPU hat. Also alles seit dem Intel 4004. Sein
"Nachteil" ist, dass er langsamer als dedicated (auf die jeweilige Hardware
So könnte MAME auch eine Playstation 6 emulieren, die vermutlich gerade
erst in der Entwicklung ist, wenn die Hardware-Spezifikationen bekannt
MAME kann auch Prototypen emulieren, die es nie über das
Entwicklungsstadium hinaus brachten. Wie beispielsweise einen
Commodore *65*.
Das größere Problem scheint mir doch eher zu sein woher MAME die
Hardware-Beschreibung zum Emulieren her nimmt. Ein Zauberspruch wird da
nicht reichen. Da dürfte erst mal jemand die Echte HW in irgend eine Art
Abbild verwandelt haben das genutzt werden kann.

Bei anderen Emulatoren sind dann oft die System ROMs aus
Copyright-Gründen eben NICHT dabei. Ich sehe nicht das es bei MAME
anders sein könnte.

Aber das ist es wohl was du mit "viel zeit übrig" meintest oder? Man muß
erst auf die Suche gehen nach Images für die System ROMs seine
Wunschsystems. Vorher schauen ob der Emulator dieses auch kennt und in
welchem Format er die images erwartet und erst dann... könnte man sich
an die Arbeit machen "Software X" aus irgend einer Quelle zu
beschaffen/konvertieren oder ??? in den Emu hinein zu bekommen.

Echt, das sind viele "wenn's" und das ist mein "Aber". :-/


Kay
--
Posted via leafnode
Andreas Kohlbach
2021-04-11 11:43:27 UTC
Antworten
Permalink
Post by Kay Martinen
Post by Andreas Kohlbach
sich diesen anschauen. MAME kann alles emulieren, was einen
Mikroprozessor als CPU hat. Also alles seit dem Intel 4004. Sein
"Nachteil" ist, dass er langsamer als dedicated (auf die jeweilige Hardware
So könnte MAME auch eine Playstation 6 emulieren, die vermutlich gerade
erst in der Entwicklung ist, wenn die Hardware-Spezifikationen bekannt
MAME kann auch Prototypen emulieren, die es nie über das
Entwicklungsstadium hinaus brachten. Wie beispielsweise einen
Commodore *65*.
Das größere Problem scheint mir doch eher zu sein woher MAME die
Hardware-Beschreibung zum Emulieren her nimmt. Ein Zauberspruch wird da
nicht reichen. Da dürfte erst mal jemand die Echte HW in irgend eine Art
Abbild verwandelt haben das genutzt werden kann.
Der Emu bezieht die von meiner Festplatte. :-)
Post by Kay Martinen
Bei anderen Emulatoren sind dann oft die System ROMs aus
Copyright-Gründen eben NICHT dabei. Ich sehe nicht das es bei MAME
anders sein könnte.
Ist keines dabei. Wie auch beim VICE Emulator nicht. Obwohl die
Windows-Version IIRC mit dem Kernal (mit A), BASIC und Character-Rom
kommt (oder kam).
Post by Kay Martinen
Aber das ist es wohl was du mit "viel zeit übrig" meintest oder? Man muß
erst auf die Suche gehen nach Images für die System ROMs seine
Wunschsystems. Vorher schauen ob der Emulator dieses auch kennt und in
welchem Format er die images erwartet und erst dann... könnte man sich
an die Arbeit machen "Software X" aus irgend einer Quelle zu
beschaffen/konvertieren oder ??? in den Emu hinein zu bekommen.
Echt, das sind viele "wenn's" und das ist mein "Aber". :-/
Das wird jetzt viel. Aber nicht verzagen, es ist einfacher, als es
ausschaut. Ich versuche nur gleich "alles" zu erklären, was man aber
nicht unbedingt zum Betreiben alles wissen muss.

Images findet man im Internet. Wobei zwischen Spielen und BIOSen zu
unterscheiden ist. Einen großen Satz gibt es auf archive.org (oder eine
Kopie davon auf meiner Festplatte ;-).

Denn auch Spiele sind abstrakt gesehen "Maschinen" (sie laufen auf meist
besonderer Hardware); Pac Man wird beispielsweise nicht auf Space
Invaders Hardware oder umgekehrt laufen.

Wenn man Computer (Osborne, C64 etc.) emulieren will, braucht man nur das
BIOS. Dann kann man stundenlang auf den Startbildschirm schauen. Sonst
will man sich auch Programme als Image besorgen. Man könnte ein Abbild
(s)einer vorhandenen Diskette ziehen, oder im Internet schauen.

Wurde so nicht vor ein paar Jahren der Source-Code von MS-DOS
freigegeben? Sollte damit nicht auch das Besitzen einer nicht käuflich
erworbenen Kopie heute legal sein? Sonst gibt es einen Haufen
Abandonware.

Aber es dürfte wohl auf alle Emulatoren zutreffen, egal ob VirtualBox
oder VMware, dass man ein Betriebssystem braucht. Wer auf Nummer
sichergehen will, nimmt Linux, wenn er auch Windows (3.11 :-D) oder OS/2
nehmen könnte.

Auch wenn MAME mit einer eingebauten GUI kommt, kann man die
Kommandozeile nutzen. Ist schnell gelernt:

mame defender

wenn man das Videospiel Defender spielen will (und das ROM dazu hat).

Bei Maschinen wird es nur unwesentlich komplizierter:

mame osborne1

startet die Emulation eine Osborne 1 Computers. Dann kann man stundenlang
auf die Meldung schauen, dass man doch eine Diskette einlegen soll.

mame osborne1 -flop1 CPM_System.TD0

startet wieder den Osborne, diesmal aber mit "eingelegter" CP/M-Diskette
"in" Laufwerk 1. Nun kann man bereits mit CP/M arbeiten, als säße man vor
einem Osborne 1981.

mame osborne1 -flop1 CPM_System.TD0 -flop2 Wordstar.TD0

wieder, diesmal aber zusätzlich mit der Wordstar Textverarbeitung in
Laufwerk 2. Es sollte also CP/M booten. Dort (in CP/M dann):

b:ws

eingeben, um der Welt beste Textverarbeitung zu starten. Man sollte
natürlich mit dem CP/M Befehl "dir b:" vorher schauen, wie die Programme
tatsächlich heißen. Ich habe das vor Jahren mal "gefilmt":



Per default erwartet MAME seine ROMS in seinem Unterverzeichnis mit
demselben Namen (man kann in der Config auch ein anderes Verzeichnis; gar
ein Netzlaufwerk angeben).

MAME gibt es nicht nur für Windows und Linux. Mac hat eine Version, so
auch OS/2 oder der Amiga und viele andere Betriebssysteme.

Wer es gerne pervers hat, kann auf seinem aktuellen PC ein OS/2
emulieren, darin einen Amiga Emulator starten, auf dem wiederum MAME
gestartet wird, um darin einen Commodore 64 zu emulieren. Auf der CPU des
Host-Systems kann man dann zeitgleich ein Ei braten. *g*

Ich habe MAME auch dazu benutzt, die Y2K-Festigkeit von alten Systemen zu
testen. MAME reicht die aktuelle Zeit des Hosts an die emulierte Maschine
durch, wenn diese Datum und Zeit ausgeben kann. So stelle ich u.a. fest,
dass der Apple ][ GS ein Problem damit hat:
<Loading Image...>.

Wer es auf die Spitze treiben will, könnte ein System in MAME emulieren,
um auf Dienste des Hosts (z.B. einen echten Drucker) oder gar des
Internets zuzugreifen. Beispiel:

mame bbcb -rs232 null_modem -bitbanger socket.127.0.0.1:2000 -cart1 Commstar.rom

würde einen BBC Computer starten, der ein Null-Modem an seiner RS-232
angeschlossen hat, um mit dem Terminal Programm Commstar auf den Service
des Hosts (socket.127.0.0.1) des Ports 2000 zuzugreifen, auf dem ich mal
eine lokale BBS laufen ließ. Pervers das - ich weiß. Aber es geht. :-)

Die Syntax der Kommandozeile ist vereinfacht:

mame zu_emulierendes_system -speichermedium software.zip

MAME kennt zudem existierende Speichermedien und Hardwareerweiterungen
von Maschinen, die es emulieren kann. Am Beispiel des Commodore 64:

mame c64 -listmedia

SYSTEM MEDIA NAME (brief) IMAGE FILE EXTENSIONS SUPPORTED
----------------
--------------------------- -------------------------------
c64 cassette (cass) .wav .tap
floppydisk (flop) .d64 .g64 .g41 .g71 .d77 .d88 .1dd .dfi .hfe .imd .ipf .mfi .mfm .td0 .cqm .cqi .dsk
cartridge (cart) .80 .a0 .e0 .crt

Die Angebe der unterstützten Devices des C64 würde den Rahmen dieses
Artikels sprengen (wenn er ihn eh nicht schon gesprengt hat ;-), daher
stellvertretend die Hardware-Liste von Pac Man:

mame pacman -listdevices

Driver pacman (Pac-Man (Midway)): <root> Pac-Man (Midway)
maincpu Zilog Z80 @ 3.07 MHz
mainlatch 74LS259 Addressable Latch
mono Speaker
namco Namco @ 96.00 kHz
screen Video Screen @ 6.14 MHz
watchdog Watchdog Timer

Diese Info braucht man zum Betreiben meist nicht. Außer wenn man
beispielsweise dem C64 eine Z80 Softcard verpassen, oder ein Modem an seine
RS-232 anhängen will.

Viele der Images für MAME sind im ZIP Format. MAME akzeptiert diese
direkt, um sie bei Gebrauch "on the fly" auszupacken.

Mit MAME kann man auch Bugs und Glitches von Maschinen genießen. So
glitched das Spiel Pac Man nach Level 255 durch den Überlauf eines 8-Bit
Zählers. Es geht weiter, aber auf dem Bildschirm ist nur Buchstabensalat
zu sehen.

Und für den, der es in Pac Man nicht zu Level 255 schafft, hält MAME eine
(ständig aktualisierte) Datenbank von Cheats bereit. So kann man u.a. in
Pac Man unendlich viele Leben einstellen. Auch Unverwundbarkeit, in Level
255 zu starten und mehr.



Wie ich eingangs erwähnte: "Wer zu viel Zeit hat"...

Wer nur Pac Man spielen will, ist schnell drin. Wer Wordstar in einem
Osborne 1 laufen lassen will, hat etwas mehr Arbeit. Wer einen BBC Micro
ins Internet bringen will, mag schon mal Stunden aufwenden.

Ist vielleicht ähnlich wie mit Linux. Wer ins Internet will, um nach
Mails und neuen Nachrichten auf seinem Gesichts-Buch Account zu schauen,
ist schnell drin. Unter der Haube kann Linux aber so viel mehr. Wenn man
denn will - und Zeit hat.

Kay, wenn Du (oder andere) interessiert bist und einen Einstieg (und
Zugriff auf meine BIOS Dateien ;-) brauchst, kannst Du mir auch gerne
mailen.
--
Andreas
Arno Welzel
2021-05-02 10:23:07 UTC
Antworten
Permalink
Arno Welzel:

[...]
Post by Arno Welzel
Ich habe auch eine Seite im Netz gefunden, die eine Art "Emulator"
beschreibt, wo man am anderen Ende einen PC via RS232 anschließt, der
<https://www.simon-lehmayr.de/PC-1403/d_hardware.htm#sl16>
Die Software dazu gibt es aber nur für DOS und ohne Quellen dazu. Ich
habe Simon Lehmayr schon angeschrieben, ob er die Quellen anbieten würde
oder eien Dokumentation des Protokolls.
Simon Lehmayr hat dazu auch keine Quellen, so dass eine Portierung auf
andere Systeme nur mit Decompolierung möglich ist, in der Hoffnung, dass
sich dann das Protokoll daraus ergibt.

Der erste Versuch mit "Reko" (<https://github.com/uxmal/reko>) sieht
zumindest nicht völlig unsinnig aus. Aber es steht auf jeden Fall noch
ein wenig Arbeit bevor, obwohl das Ding nur 6 KB groß ist.

Wenn etwas benutzbares dabei herauskommt, werde ich berichten. Ansonsten
sind aber Hinweise weiterhin willkommen. Bezugsquellen für
"Systemhandbuch für die SHARP PC-1280/PC-1475" o.Ä. habe ich bisher
nicht gefunden.
--
Arno Welzel
https://arnowelzel.de
Arno Welzel
2021-05-09 19:16:00 UTC
Antworten
Permalink
Arno Welzel:

[...]
Post by Arno Welzel
Ich habe auch eine Seite im Netz gefunden, die eine Art "Emulator"
beschreibt, wo man am anderen Ende einen PC via RS232 anschließt, der
<https://www.simon-lehmayr.de/PC-1403/d_hardware.htm#sl16>
[...]

Leider bin ich mit dem Thema nicht wirklich weitergekommen. Der
Schaltplan dort ist auch eher verwirrend als hilfreich.

Daher hier nomal die Frage nach weiterführenden Quellen dazu.
--
Arno Welzel
https://arnowelzel.de
Lesen Sie weiter auf narkive:
Loading...