Schneider / Amstrad CPC Forum

International JavaCPC Support => JavaCPC Support => Topic started by: TFM on 10. January 2018, 17:13:02

Title: JavaCPC und MultiPlay
Post by: TFM on 10. January 2018, 17:13:02
Hallo CPCler... oder besser mal Hallo Markus  ;)

Es wäre doch toll wenn der JavaCPC das MultiPlay vom Tot0 unterstützt. Vorerst würde da ja völlig reichen den Joystick-Modus zu emulieren. Das sollte eigentlich nicht zu viele Probleme machen. Können wir hoffen?
Title: Re: JavaCPC und MultiPlay
Post by: oobdoo on 10. January 2018, 18:46:55
Wenn wir schon bei Wünschen sind, dann bitte alles einbauen was man auf
sehen kann.  :zwinker0018:
Title: Re: JavaCPC und MultiPlay
Post by: TFM on 11. January 2018, 13:35:41
Naja, C64 und Multi-Maschinen-Emulatoren gibt's ja schon. Vielleicht ist es realistischer sich erst mal auf den CPC zu beschränken. Nix für ungut.  ;)
Title: Re: JavaCPC und MultiPlay
Post by: Devilmarkus on 11. January 2018, 18:37:24
Und auf welche Tasten sollte ich das legen?
JavaCPC verwendet schon fast jede PC Taste...
Title: Re: JavaCPC und MultiPlay
Post by: Shining on 11. January 2018, 20:17:57
[SHIFT]+[STRG]+[TAB]+[ALT GR] + D für Debugger  :zunge0020:
Title: Re: JavaCPC und MultiPlay
Post by: TFM on 12. January 2018, 17:01:42
Quote from: Devilmarkus on 11. January 2018, 18:37:24
Und auf welche Tasten sollte ich das legen?
JavaCPC verwendet schon fast jede PC Taste...

Das ist eine gute Frage. Vielleicht könnte man es auf die normalen "Joystick-Tasten" im Zehner-Block legen. Hald mit Option "ein / aus".  :)
Title: Re: JavaCPC und MultiPlay
Post by: oobdoo on 13. January 2018, 16:20:02
Quote from: TFM on 11. January 2018, 13:35:41
Naja, C64 und Multi-Maschinen-Emulatoren gibt's ja schon. Vielleicht ist es realistischer sich erst mal auf den CPC zu beschränken. Nix für ungut.  ;)
Nee, kein Multi-Maschinen-Emulator. Mir geht es nur um diese vielfälltige Funktionalität der Software und das sowas bei CPC-Emulatoren noch fehlt.  ;)
Title: Re: JavaCPC und MultiPlay
Post by: TFM on 14. January 2018, 15:26:43
Quote from: oobdoo on 13. January 2018, 16:20:02
Quote from: TFM on 11. January 2018, 13:35:41
Naja, C64 und Multi-Maschinen-Emulatoren gibt's ja schon. Vielleicht ist es realistischer sich erst mal auf den CPC zu beschränken. Nix für ungut.  ;)
Nee, kein Multi-Maschinen-Emulator. Mir geht es nur um diese vielfälltige Funktionalität der Software und das sowas bei CPC-Emulatoren noch fehlt.  ;)

Ähm, dein Link zeigt aber auf eine Demo. ?!? Ok, vielleicht sehe ich auch einfach nicht welche Funktionalität Du jetzt meinst.  :)

Beim JavaCPC ist das doch fein! Auch der Debugger vom WinCPC ist nicht schlecht.
Was würde Dir denn da noch fehlen, ich bin sicher das die Emu-Entwickler gerne auf neue Ideen zurückgreifen.  :)

EDIT: Ok, ich glaub ich hab's kapiert. Da läuft eine Demo im Debugger. Aber ich finde das Ding total chaotisch und unübersichtlich. Vielleicht liegts ja auch am Video.
Title: Re: JavaCPC und MultiPlay
Post by: Shining on 15. January 2018, 12:16:58
Für mich ist das in allen Emulatoren fehlende Killer-Feature debuggen in SDCC-C oder zumindest Breakpoints, die mit dem Map-File von SDCC umgehen können.
Title: Re: JavaCPC und MultiPlay
Post by: TFM on 15. January 2018, 13:42:05
Aber wie soll das gehn? Wie soll man denn den Z80 code in C zurück übersetzen?

Title: Re: JavaCPC und MultiPlay
Post by: Shining on 16. January 2018, 09:03:00
Ich schreibe dazu mal was in Deinem neu erstellen Thread ->
Title: Re: JavaCPC und MultiPlay
Post by: TFM on 27. September 2018, 14:16:23
Zurück zum Thema: Gibt es schon eine MultiPlay Emulation für einen der Emulatoren?

Man müsste ja nur ein Eingabemedium auf einen Port umbiegen. Bzw. die Maus als Maus übertragen.  :)


Hier ein paar Infos aus meinen Beständen...


MultiPlay V1.5:
===============

Anschluss von 2 Joysticks bzw. Mäusen
-------------------------------------

Die MultiPlay ist eine kleine Erweiterungskarte im MX4 Format und bietet zwei SUB-D 9 Polige Anschlüsse.
Daran lassen sich entweder normale Joysticks (mit bis zu drei Feuerknöpfen) oder entsprechende Mäuse anschliessen.

Für jeden der beiden Ports (A oder B) kann per Schalter zwischen Maus und Joystick gewählt werden.

Die Abfrage ist denkbar einfach: Die entsprechende I/O Adresse wird eingelesen.
Das Format ist Joystick-komptibel.


I/O Adressen
------------
Joysticks (Schalter auf AMS):
-----------------------------
&F990 : 0321RLDU - Eingabe A, Joystick und Knöpfe = Port A Bits
&F991 : 0321RLDU - Eingabe B, Joystick und Knöpfe = Port B Bits

AKTIONS BITS
------------
bit 0: Auf
bit 1: Ab
bit 2: Links
bit 3: Richts
bit 4: Erster Feuerknopf oder LMB
bit 5: Zweiter Feuerknopf oder RMB
bit 6: Dritter Feuerknopf oder MMB
bit 7: 0

Was wird an den CPC's gelesen, ohne MultiPlay?
----------------------------------------------
&F990 : &00, &7F(127), &FF (255)
&F991 : &40(64), &FF(255)

Durch Abfrage der Ports kann nicht ermittelt werden, ob ein MultiPlay angeschlossen ist oder nicht


Mäuse:
------
&F992 : 00000XXX bzw. 11111XXX - Eingabe A, Maus X = Port A Maus POS-X Wert
&F993 : 00000YYY bzw. 11111YYY - Eingabe A, Maus Y = Port A Maus POS-Y Wert

&F994 : 00000XXX bzw. 11111XXX - Eingabe B, Maus X = Port B Maus POS-X Wert
&F995 : 00000YYY bzw. 11111YYY - Eingabe B, Maus Y = Port B Maus POS-Y Wert

Maus Bits
---------
Bit 0-2: Wert
Bit 3-7: Vorzeichen (alle 0 oder 1)


Auflösung der Maus
------------------

200 DPI (1 inch = 200 Pixel Bewegung)

         ________          ________
A _____|        |________|        |________
             ________          ________       
B _________|        |________|        |________

200 DPI |1  |2   |3  |4   |5  |6   |7  |8                                   
50 DPI |1                |2


Genauigkeit der Maus
--------------------
4 Bit mit Verzeichen auf 8 Bit erweitert (-8 bis +7). Maus Register X/Y gibt den Offset seit dem letzten Lesen zurück.
Der Wert erreicht einen Höchstwert, falls für längere Zeit keine Abfrage erfolgt oder die Bewegung zu schnell ist.
Aber der Wert wird nicht üblaufen.

Aus Sicht der Software liest man einfach den Port und addiert den Wert zur Position.
- Lesen unter BASIC mittels des 50 Hz Interrupts ist schnell genug um den Cursor zu bewegen.
- Lesen unter Assembler mit 300 Hz Interrupt ist schnell genug um einen Mauspfeil mit Beschleunigung darzustellen.


Maus Notizen
------------
Proportionale Amiga Mäuse sind nötig um die Ports &F992 to &F995 zu benutzen (Auf AMI schalten).
Ports &F990, &F991 werden für die Knöpfe benutzt. Die anderen Bits geben nutzlose Daten zurück.


Bei den Mäusen spiegeln Bits 7,6,5,4 den Inhalt von Bit 3 wieder.
Effektiv handelt es sich dabei um 8 Bit signierte Werte
in Bereich von -16 (= &F0) bis 15 (= &0F).

Bei den Mäusen sind die Feuerknöpfe ausserdem weiterhin über die Joystick-Ports einzulesen
(Maus A über Joystick A, und Maus B über Joystick B)


Benutzbare Mäuse:
-----------------
- Amiga Maus
- Atari ST Maus, aber mit Adapter!


Mäuse:
------
http://www.ebay.de/itm/COMMODORE-MAUS-AMIGA-NEU-unbenutzt-alter-Lagerbestand-Antiquariat-/301932161319?nma=true&si=yMj7XkjGeT1Bd3jNc8cAyxTYe%252FI%253D&orig_cvip=true&rt=nc&_trksid=p2047675.l2557


Adapter:
--------
http://www.ebay.co.uk/itm/AMIGA-MOUSE-TO-ATARI-ST-ATARI-ST-MOUSE-TO-AMIGA-ADAPTER-CONVERTER-/121984327992