ZX2000 - neuester Stand der Dinge

ZX-Team Forum
Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 27.12.2012, 17:35

Ich habe ganz normale Siliziumdioden drin (wie damals im ZX81). Werde die mal gegen Germanium bzw. Schotty (mal sehen, was ich da habe) tauschen.
Danke einstweilen für den Tipp!
Grüße
Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 27.12.2012, 17:43

Hallo Siggi!
Dein ZX2000-ROM für Mefisdos funktioniert so leider nicht. RAND und LOAD "" bringen mich in den Editor (was ja schon mal was ist). Die anderen Optionen führen zu einem Absturz. CMD- und TAPE-Verzeichnisse hatte ich zuvor angelegt. Auch LOAD "C:DEMO" führt zum Absturz. Den ZX2000 muss man danauch ein/ausschalten, sonst geht nix mehr.
Kann ich noch was für dich testen?

Viele Grüße
Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
siggi
User
Beiträge: 2480
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX2000 - neuester Stand der Dinge

Beitrag von siggi » 27.12.2012, 19:02

Hallo Joachim,
kann es vielleicht am MEFISDOS liegen, das noch eine recht alte Version ist? Oder ist in Deinem ZX2000 ein ausreichend neues MEFISDOS drin, das 3 verschiedenen Einsprünge vorne hat, die ja in ihrem Verhalten geändert wurden bei meiner Weiterentwicklung von MEFISDOS.
Insbesondere benutzt der Patch auch den Einsprung ins MEFISDOS(call SELRB) zur Umschaltung WORK/FILE-page, die es im UR-MEFISDOS nicht gab.

Gruß
Siggi

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 27.12.2012, 21:44

Hallo Siggi,
ich habe auf dem ZX2000 noch kein ASDIS drauf. Wenn ich mir aber den Hexdump auf dem PC ansehe, hast du vermutlich recht. Es sind da zwar auch drei jumps, allerdings zu anderen Adressen. Und so weit ich weiß, läuft Mefisdos auch im ZX2000 ab Adr. 8192. Ich brenne jetzt mal Asdis drauf und melde mich wieder. Wenn's so ist, bräuchte ich die neue Version von Mefisdos mit dem Treiber für das Flash. So einen habe ich noch nicht. Am liebsten wäre mir der 8KB-Block zum Patchen.
Viele Grüße
Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
siggi
User
Beiträge: 2480
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX2000 - neuester Stand der Dinge

Beitrag von siggi » 27.12.2012, 22:00

Hallo Joachim
einen Mefisdos-Treiber für Flash habe ich nicht zu bieten. Den müßte man erst noch aus den MMC- oder Ramdisk-Treibern unter Verwendung des alten Codes zur Flash-Programmierung basteln. Da kann ich also nix fertiges anbieten :(

Gruß
Siggi

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 27.12.2012, 22:32

Da muss ich mich an Kai wenden.
Kai, hast du von dem Mefisdos auf dem ZX2000 die Asdis-Source? Kann mich erinnern, dass du das mal auf einem Treffen zusammengeflickt hast.
Grüße
Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 28.12.2012, 00:51

Das Auswechseln der Dioden hat zunächst nichts gebracht. Erst als ich das Widerstandsnetzwerk auf 10 K verringert habe, funktionerte alles tadellos.
ASDIS habe ich jetz auch drauf. Jetzt kann es weitergehen.
Vielen Dank für die Unterstützung
Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Kai
User
Beiträge: 460
Registriert: 19.04.2005, 20:46

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Kai » 28.12.2012, 14:51

Joachim hat geschrieben:Da muss ich mich an Kai wenden.
Kai, hast du von dem Mefisdos auf dem ZX2000 die Asdis-Source? Kann mich erinnern, dass du das mal auf einem Treffen zusammengeflickt hast.
Grüße
Joachim
Aua, ja :lol: Das hatte nur leider nicht so funktionieren wollen, obwohl es eigentlich recht simpel ist. Das Mefisdos auf dem ZX2000 ist eine ältere Version, vermutlich die letzte (2.3?) vor der Treibersache. Die Flashroutinen habe ich dokumentiert, muß die mal die nächsten Tage raussuchen.

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 28.12.2012, 16:31

Wäre super, eilt aber nicht soooo.

Ich habe es geschafft, die Multiportkarte zum Laufen zu bringen. Somit kann ich nun das neueste Mefisdos samt Siggis ROM-Patch auf das EPROM brennen und die Bedienung des Flash wird über einen externen Mefisdos-Treiber laufen. Der Inhalt des Flash ist mir bei den Experimenten mit Siggis ROM-Patch sowieso in die Hanse gegangen. Wichtiges war ja nicht drauf, aber das ROM-Boot hätte ich doch gerne wieder.

Damit ist meine gesamte bisherige Software kompatibel mit dem ZX2000 und ich kann auf meine SD-Card speichern. Zum Übertragen der Software habe ich meine selbstgebauten Card-Reader für den ZX81 und mit Siggis Programmen (xcopy) kann ich die nötige Software duplizieren. Noch einfacher wäre es sogar mit SD-RAW, der den Inhalt der von Mefisdos beschriebenen SD-Cards als Image einliest und auf eine andere Karte kopiert.
Jedenfalls freue ich mich riesig, dass die wichtigsten Komponenten nun laufen. Jetzt kommt nur noch die Hürde mit dem Gehäuseeinbau ....

Gäbe es theoretisch noch einen ZX2000-Bausatz zu kaufen? Den Minibus und die LCD-Platine hätte ich schon als Layout und ich konnte mir Platinen machen lassen.

Die Displays sind wesentlich besser als die von Pollin für den AX81. Deshalb habe ich eine Platine entworfen, mit der ich (hoffentlich) auch die ZX2000-Displays mit dem AX81 verwenden kann. Auf der Platine ist deine Schaltung für die Kontrastspannung und die Stecker für die Signalleitungen. Mehr nicht.
Und die Hintergrundbeleuchtung ist ja jetzt kein Thema mehr ;) Die Kontrastspannung könnte einen Tick größer sein.

Viele Grüße
Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Kai
User
Beiträge: 460
Registriert: 19.04.2005, 20:46

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Kai » 30.12.2012, 18:57

Hast Post.
Einen Bausatz kann ich Dir noch geben, ich habe nur keine Flashs mehr. Da wollte ich mich mal noch um eine Lösung kümmern.

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 31.12.2012, 10:46

Super, bitte diesen Bausatz für mich zum Treffen reservieren. Ich kümmere mich um ein Flash. Sollte ich keines auftreiben, wäre das nicht so schlimm, weil ich Mefisdos mit SD-Cards betreiben kann.

@tOm:
Hallo Thomas,
Kai hat im Forum 'ZX-Team-Magazin' den Thread 'ZX2000 Bausatz' aufgemacht mit der Bitte, dort alle Erfahrungen und Anfragen zum ZX2000 zu stellen. Das habe ich übersehen und in diesem Thread weitergemacht. Ich bitte dich, alle meine Einträge in diesem Thread ab dem 18.10.2012 nach 'ZX-Team Magazin/ZX2000 Bausatz' zu verschieben. DANKE!

viele Grüße
Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
sbetamax
User
Beiträge: 513
Registriert: 04.03.2006, 22:01
Wohnort: Deutschland / Hessen / Nidda
Kontaktdaten:

Re: ZX2000 - neuester Stand der Dinge

Beitrag von sbetamax » 01.01.2013, 14:30

Hallo Joachim,
ich hatte die gleichen Probleme mit der Tastatur. Ich hab zwei Änderungen durchgeführt.
1. Die Pullup Widerstände links neben dem FPGA drastisch verkleinert. Ich glaube 4,7k
2. Einen Bustreiber an Keb2 eingeschleift.

Kann dir im Moment nichts genaueres sagen, da mein ZX2000 in der Fa steht, weil ich das Gehäuse endlich fertig machen will.
Gruß Stephan
_______________
ZX80 (nachbau), ZX81, ZX 2000, ZX NU, IQ8300, ZX Spectrum, ZX Spectrum plus, ZX Spectrum 128, Harlequin, C64

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 01.01.2013, 15:49

Danke für den Hinweise, Stephan. Ich habe auf 10 K verringert. Das hat auch funktioniert. Außerdem sind die Dioden Germaniumdioden. Jetzt habe ich keine Probleme mehr.
Viele Grüße
Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 04.01.2013, 14:32

Hallo Kai,
nur mal deine Meinung dazu: Ich habe vor, den ZX96 mit Giant-Platine durch den ZX2000 zu ersetzen. Das müßte doch gehen. Das BUSCS kann ja auf dem Bus bleiben, wenn ich die Leitungen für das Display vorher abzapfe und nicht zum ZX2000 durchschleife. Die anderen Signale, die du nicht auf den Bus gelegt hast, brauchen unsere Platinen ja auch nicht.
Hintergrund: Das Display gefällt mir ausgesprochen gut, weshalb ich meinen Monitor vom Schreibtisch haben möchte.

Oder könnte man die ZX81-Bildausgabe im ZX81-ROM durch die Routinen für das Display ersetzen (Bodo)?

Bitte zum Treffen nicht vergessen: 'Rechnung' für die zwei Displays und den bestellen ZX2000. Evtl. dazu das Flash. Kannst du die Röhren für die Hintergrundbeleuchtung brauchen?

Viele Grüße
Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Kai
User
Beiträge: 460
Registriert: 19.04.2005, 20:46

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Kai » 04.01.2013, 16:00

Ich will selbst alles auf LED umrüsten, die Röhren bräuchte ich dann auch nicht mehr. :wink:
Hast Du von diesen kleinen Platinenstreifen noch welche auf Lager?

Die Bildausgabe an das LCD ist komplett im FPGA gestrickt, auf dem ZX2000 läuft ein unverändertes ZX81 ROM.

Zum ZX96: Versuch macht kluch. So auf Anhieb sehe ich da keine Hürden.

Benutzeravatar
bodo
User
Beiträge: 320
Registriert: 14.02.2007, 17:21
Kontaktdaten:

Re: ZX2000 - neuester Stand der Dinge

Beitrag von bodo » 04.01.2013, 21:42

Wie Kai schon sagt: es gibt keine eigene Ausgaberoutine. Das FPGA greift sich einfach den Bitstrom aus der normalen Videologik und setzt ihn um in Signale für das LCD - das klappt wunderbar, weil der Pixeltakt ja vorhanden ist. Damit sind alle ROMs unverändert einsetzbar, die auch in echten Zeddies laufen.
B0D0: Real programmers do it in hex.

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 05.01.2013, 00:05

Hallo Bodo, hallo Kai!
Danke für die Infos! Dann probiere ich es mit meinem 2. ZX2000 nach dem Treffen.
Viele Grüße und 'a Xunds', wie wir in Bayern sagen!
Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 05.01.2013, 15:21

Hallo Kai,
ja, ich habe noch Stripes für dich. Ich lasse auch nochmals im Zusammenhang mit deinem Minibus welche machen, diesmal aber mit 9 LEDs. Dann kannst du dir selber aussuchen, ob du 6 oder 9 bestücken willst. Wie das Ergebnis in grün bzw. weiß aussieht, zeige ich hier in Kürze.
Viele Grüße
Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Kai
User
Beiträge: 460
Registriert: 19.04.2005, 20:46

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Kai » 05.01.2013, 16:35

Wenns deutlich gleichmäßiger ausleuchtet, würde ich auf 9 LEDs gehen. Bräuchte dann mindestens 5 Platinen, soviel Displays mit defekter Röhre habe ich hier. Welche LEDs hast Du verbaut?

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 05.01.2013, 19:58

Hallo zusammen!
Ich habe mit den LED-Stripes weiter experimentiert und auch mal weiße verwendet. Sehr zufrieden bin ich noch nicht. Ich habe jetzt eine Platine entworfen, auf der neun LEDs drauf passen. Außerdem nochmals eine Platine, auf die noch kleinere LEDs passen, die angeblich noch heller sein sollen. Mal sein. Sobald ich da was weiß, berichte ich wieder.
Ich habe folgende SMD-LEDs von Osram verwendet:
LW E67 C, weiß, 30 mA, 4,1 V, PLCC-4, mit 330 Ohm als Vorwiderstand und
LT T67C, grün, 20 mA, 3,5 V, PLCC-4, mit 150 Ohm als Vorwiderstand. Mit den grünen bin ich zufrieden.

Untersuchen möchte ich noch LW M67C, 0805-Gehäuse, und LW T673, PLCC-4-Bauform.

Joachim

Display weiß mit Cursor.jpg
Display weiß mit Cursor.jpg (138.04 KiB) 7092 mal betrachtet
Display weiß mit Testbild.jpg
Display weiß mit Testbild.jpg (212.83 KiB) 7092 mal betrachtet
Display grün.jpg
Display grün.jpg (220.54 KiB) 7092 mal betrachtet
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 05.01.2013, 20:00

Die neuen Streifen werden dann so aussehen:
Stipes.JPG
Stipes.JPG (36.22 KiB) 7092 mal betrachtet

Und der neue Mini-Bus mit Step-Up-Wandler dann so:
Minibus.JPG
Minibus.JPG (120.25 KiB) 7092 mal betrachtet
Neu daran ist, dass man keine Flexiprintbuchse braucht sondern mit Kabeln vom LCD auf eine einreihige Buchsenleiste gehen kann.


Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
sbetamax
User
Beiträge: 513
Registriert: 04.03.2006, 22:01
Wohnort: Deutschland / Hessen / Nidda
Kontaktdaten:

Re: ZX2000 - neuester Stand der Dinge

Beitrag von sbetamax » 05.01.2013, 20:41

Hallo Joachiem,
kommst du mit den LEDs Plan und mittig auf die Blexiglasscheibe?
Bei mir sieht das mit 6 LEDs ganz ordentlich aus.
Sobald du etwas davon weg kommst wird es fleckig.
Gruß Stephan
_______________
ZX80 (nachbau), ZX81, ZX 2000, ZX NU, IQ8300, ZX Spectrum, ZX Spectrum plus, ZX Spectrum 128, Harlequin, C64

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 05.01.2013, 21:17

Hallo Stephan,
ja, die LEDs liegen plan an der Stirnseite der Streuscheibe an. Die LED sind vollflächig an dieser Stirnseite. Daran kann es nicht liegen. Das grüne Display sieht genauso aus wie deines auf dem Treffen. Beim weißen sind es sicher die LED.


@Siggi:
Wenn ich mit deiner ROM-Erweiterung für Mefisdos eingebe: SAVE "TREIBER"
bekomme ich im Mefisdos-Editor die Meldung 'Programmname fehlt' und der Editor zeigt diese Zeile an:
S D:CMDS/E- 6/ / Zwischen '-' und '6' sowie zwischen den beiden '/' ist jeweils 1 Space. Diese Anzeige bekomme ich immer wenn ich mit SAVE speichern will, unabhängig vom Programmnamen.
Dabei ist mir aufgefallen, ich habe übersehen, dass du das LW D fest verdrahtet hast. Das muss ich noch abändern.
Die Verzeichnisse CMDS und TAPE habe ich angelegt.

viele Grüße
Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
siggi
User
Beiträge: 2480
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX2000 - neuester Stand der Dinge: Rompatch

Beitrag von siggi » 06.01.2013, 11:01

EDIT: Fehler gefunden: es gibt ein neues ROM.
In ENABLE wird HL zerschrieben beim POKE 8,0 (das bei mir nicht nötig ist)
POP HL muß ans Ende der Routine verschoben werden ..

Wenn ich schon ändere: welches Laufwerk sollte ich denn einstellen?


Hallo Joachim
das von Dir beschriebene Verhalten gibt mir Rätsel auf. Ich habe das Rom nochmal disassembliert und der Patch sieht korrekt aus (dummerweise hatte ich allerdings nur beim TAPE-Verzeichnis das Laufwerk auf C: gesetzt, nicht beim CMDS, da ist es D:).

Zur Sicherheit nochmal die POKEerei (damit da nichts schief geht):
Es wird erst ein Test ausgeführt, ob bei $2000 Ram eingeblendet ist:
PEEK $2000
POKE $2000
PEEK $2000
POKE $2000
Ob RAM erkannt wurde, wird in der SYSTEMVARIABLE COORD gespeichert
Dann wird die WORK-Page vom Patch mit POKE 8,13 aktiviert.
Anscheinend klappt das, denn der Anfang des SAVE-Kommandos wird ja richtig in den
Editor-Puffer geschrieben. Danach sollte der Progname noch angehängt werden und dahinter noch gelöscht werden ($40 Spaces dahiner schreiben).

Am Ende wird (anhängig von COORD) RAM oder nix aktiviert
POKE 8,4 für RAM
POKE 8,0 sonst

Sollte doch alles korrekt sein, oder?

Probier doch mal, ob ein voller Pfadname korrekt im MEFISDOS landet
SAVE "c:tralala/sowieso/irgendwas"

Beim LOAD müßte sich eigentlich das gleiche (fehlerhafte) Verhalten zeigen. Ist das so?

Gruß
Siggi

PS: der ASDIS-Source des Patches war ja in der ZIP-Datei mit drin ...
Edit: zum Vergleich der Original-Patch für meine Rechner (OUT statt POKE 8 ):

Code: Alles auswählen

          02F6;=========================
          02F6;ROMPATCH FOR "LOAD" AND
          02F6;"SAVE" REDIRECTION TO
          02F6;MEFISDOS/MULDOS
          02F6;;
          02F6;  SIEGFRIED ENGEL
          02F6;  SIGGI(A)ZX81.DE
          02F6;  SEPTEMBER 2005
          02f6;;
          02F6;SYNTAX:
          02F6;LOAD "" -> MFDOS EDITOR
          02F6;LOAD "NAME" ->
          02F6;  MFDOS "L D:TAPE/NAME"
          02F6;LOAD "D:PATH/NAME" ->
          02F6;  MFDOS "L D:PATH/NAME"
          02F6;;
          02F6;SAVE: EQUIVALENT
          02F6;;
          02F6;HOTKEY:
          02F6;PRESS "RAND" IN COMMAND
          02F6;MODE TO JUMP INTO
          02F6;MEFISDOS EDITOR
          02F6;;
          02F6;=========================
          02f6;;
          02F6;"SAVE" COMMAND AT $2F6
          02F6SAVE CALL SETUP     CDFB02
          02F9;JUMP TO MFDOS CMD EXECUTION
          02F9     JR TOSYN       184D
          02FB;;
          02FB;========================
          02FB;;
          02FB;SETUP MEFISDOS COMMAND
          02FB;DEFAULT FOR "SAVE"
          02FB;;
          02FB;BASIC SYNTAX CHECK?
          02FBSETUPCALL SYNTX     CDA60D
          02FE;DROP CALLER"S ADDRESS
          02FE     POP HL         E1
          02FF;BACK IF SYNTAX CHECK ONLY
          02ff     RET Z          C8
          0300;RESTORE CALLER"S ADDRESS
          0300     PUSH HL        E5
          0301;GET NAME STRING
          0301     CALL NAME      CDA803
          0304;NO NAME GIVEN -> MEFISDOS
          0304     JR C,JMFDS     3847
          0306;CORRECT LENGTH
          0306     INC C          0C
          0307;NULLSTRING -> MEFISDOS
          0307     JR Z,JMFDS     2844
          0309;REGISTER USAGE:
          0309;DE:NAME,BC:LEN,HL:LAST CHR.
          0309;SET NORMAL LAST CHAR
          0309     RES 7,(HL)     CBBE
          030B;SET HL TO POINT TO NAME
          030b     EX DE,HL       EB
          030C;PREPARE FOR MEFISDOS CALL
          030C     CALL ENAB      CD5603
          030F;CREATE MFDOS CMD "S "
          030F     LD DE,EDBUF    11C8F2
          0312     LD A,$38       3E38
          0314     LD (DE),A      12
          0315     INC DE         13
          0316     XOR A          AF
          0317     LD (DE),A      12
          0318     INC DE         13
          0319;TEST FOR DRIVE LETTER GIVEN
          0319;SAVE NAME STRING DATA
          0319     PUSH BC        C5
          031A     PUSH HL        E5
          031B;NAME LEN>=3?
          031b     LD A,C         79
          031C     CP $03         FE03
          031E;NO: SET DEFAULT PATH
          031E     JR C,ADFPT     3806
          0320;YES: IS 2ND CHAR ":"?
          0320     LD A,$0E       3E0E
          0322     INC HL         23
          0323     CP (HL)        BE
          0324;YES: ADD GIVEN PATH/NAME
          0324     JR Z,ADDNM     280E
          0326;NO: ADD DEFAULT PATH LEN 7
          0326ADFPTLD HL,DRVPT    218203
          0329;NOTE:B IS 0
          0329     LD C,$07       0E07
          032B;TEST FOR RUN MODE
          032B     BIT 7,(IY+$08) FDCB087E
          032f     JR Z,RUNPT     2801
          0331;COMMAND MODE->USE "CMDS/"
          0331     ADD HL,BC      09
          0332RUNPTLDIR           EDB0
          0334;;
          0334;RESTORE NAME STRING
          0334ADDNMPOP HL         E1
          0335     POP BC         C1
          0336;APPEND NAME
          0336     LDIR           EDB0
          0338;CLEAR BUFFER PAST NAME
          0338     EX DE,HL       EB
          0339     LD B,$40       0640
          033BCLLOPLD (HL),C      71
          033C     INC HL         23
          033D     DJNZ CLLOP     10FC
          033f     RET            C9
          0340;;
          0340;===========================
          0340;NO UNUSED SPACE TILL "LOAD"
          0340;===========================
          0340;;
          0340;"LOAD"-COMMAND AT $340
          0340LOAD CALL SETUP     CDFB02
          0343;SET MDFOS COMMAND "L"
          0343     LD HL,EDBUF    21C8F2
          0346     LD (HL),$31    3631
          0348;JUMP TO MFDOS CMD EXECUTION
          0348TOSYNCALL SYNT      CD2C20
          034B     JR DISAB       1828
          034D;;
          034D;=========================
          034d;JUMP TO  MEFISDOS EDITOR
          034D;DROP RETURN ADDRESS
          034DJMFDSPOP AF         F1
          034ETOMFDCALL ENAB      CD5603
          0351     CALL MFDOS     CD0020
          0354     JR DISAB       181F
          0356;;
          0356;==========================
          0356;ENABLE MEFISDOS
          0356;NOTE: MUST BE MODIFIED
          0356;FOR USE WITH ZX96
          0356;;
          0356ENAB PUSH HL        E5
          0357;TEST FOR RAM OR EEPROM
          0357     LD HL,$2000    210020
          035A     LD A,(HL)      7E
          035b     INC (HL)       34
          035C     CP (HL)        BE
          035D;NOTE:DONT DESTROY FLAGS
          035D;RESTORE RAM
          035D     LD (HL),A      77
          035E     POP HL         E1
          035F;SET FLAG "EEPROM ENABLED":0
          035F;DONT DESTROY FLAGS
          035F     LD A,$00       3E00
          0361     JR Z,EPROM     2801
          0363;SET FLAG "RAM ENABLED":1
          0363     INC A          3C
          0364;SAVE FLAG IN SYSTEM VAR
          0364EPROMLD (COORD),A   323640
          0367;SWITCH TO MFDOS EEPROM
          0367     LD A,$02       3E02
          0369     OUT EPSEL,A    D37F
          036B;SELECT WORK BANK
          036B     LD A,WORK      3E0D
          036D     CALL SELRB     CD7A3C
          0370;SET "RETURN TO MC"
          0370     XOR A          AF
          0371     LD (FRET),A    325FF6
          0374     RET            C9
          0375;;
          0375;==========================
          0375;DISABLE MFDOS FOR SAFETY
          0375;NOTE: MUST BE MODIFIED
          0375;FOR USE WITH ZX96
          0375;;
          0375DISABLD A,(COORD)   3A3640
          0378;HAS RAM BEEN ENABLED?
          0378     CP $01         FE01
          037A     LD A,$04       3E04
          037C;YES:JUMP
          037C     JR Z,SET       2801
          037E;ELSE: ENABLE EEPROM BANK 0
          037E     XOR A          AF
          037FSET  OUT EPSEL,A    D37F
          0381     RET            C9
          0382;;
          0382;==========================
          0382;;
          0382;DEFAULT DRIVE/PATH NAMES
          0382;NOTE: BOTH LENGTHS MUST
          0382;BE 7.
          0382;;
          0382;TAPE DIR (RUN MODE)
          0382DRVPTD:TAPE/
          0389;;
          0389;COMMAND DIR (COMMAND MODE)
          0389DRVCMD:CMDS/
          0390;;
          0390;==========================
          0390;"RAND" HOTKEY FOR MEFISDOS
          0390HKEY BIT 7,(IY+$08) FDCB087E
          0394     JP Z,RAND      CA6C0E
          0397     JR TOMFD       18B5
          0399;;
          0399;==========================
          0399;HERE: FREE SPACE FOR
          0399;FURTHER ROM PATCHES.
          0399;SOME BYTES USED TO PATCH
          0399;"RAND" COMMAND
          0399;(MAY BE DELETED)
          0399;;
          0399;PATCH CODE FOR "RAND" CMD
          0399;TO BE SINGLE-STEPPED ...
          0399PATCHLD HL,HKEY     219003
          039C     LD ($0C87),HL  22870C
          039F;;
          039F;;
          039F;;
          039F;==========================
          039F;;
          039F;END OF ROM PATCH
          039F;CHECK HERE FOR OVERRWRITTEN
          039F;ROM CODE ..
          039F;;
          039F;;
          039f;END MAY NOT EXCEED $03A7
          039F;ROUTINE "NAME" IS AT $03A8
          039F;;
          039F;THIS IS THE END, THE ONLY
          039F;END, MY FRIEND ...
          039F;==========================

          marken
          COORD=16438=$4036
          EDBUF=62152=$F2C8
          EPSEL=00127=$007F
          FRET =63071=$F65F
          MFDOS=08192=$2000
          NAME =00936=$03A8
          RAND =03692=$0E6C
          RMSEL=00119=$0077
          SELRB=15482=$3C7A
          SYNT =08236=$202C
          SYNTX=03494=$0DA6
          WORK =00013=$000D
          labels
          ADDNM=00820=$0334
          ADFPT=00806=$0326
          CLLOP=00827=$033B
          DISAB=00885=$0375
          DRVCM=00905=$0389
          DRVPT=00898=$0382
          ENAB =00854=$0356
          EPROM=00868=$0364
          HKEY =00912=$0390
          JMFDS=00845=$034D
          LOAD =00832=$0340
          PATCH=00921=$0399
          RUNPT=00818=$0332
          SAVE =00758=$02F6
          SET  =00895=$037F
          SETUP=00763=$02FB
          TOMFD=00846=$034E
          TOSYN=00840=$0348


          DISAB=00885=$0375
          DRVCM=00905=$0389
          DRVPT=00898=$0382
          ENAB =00854=$0356
          EPROM=00868=$0364
          HKEY =00912=$0390
          JMFDS=00845=$034D
          LOAD =00832=$0340
          PATCH=00921=$0399
          RUNPT=00818=$0332
          SAVE =00758=$02F6
          SET  =00895=$037F
          SETUP=00763=$02FB
          TOMFD=00846=$034E
          TOSYN=00840=$0348
Dateianhänge
LOADSAVE-LST.txt
(9.06 KiB) 91-mal heruntergeladen

Benutzeravatar
Joachim
User
Beiträge: 1088
Registriert: 06.11.2004, 20:21

Re: ZX2000 - neuester Stand der Dinge

Beitrag von Joachim » 06.01.2013, 13:22

Hallo Siggi!
Das ging aber flott!
Mir wäre am liebsten, CMDS und TAPE wären im C-Laufwerk.
viele Grüße
Joachim
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Antworten