Das ist ein Spiel. Eine ziemliche Neuentwicklung. Es heißt Majesty of Sprites:
http://www.psytronik.net/newsite/index.php/plus4/68-majesty
Downloadmöglichkeit: http://plus4world.powweb.com/software/Majesty_Of_Sprites
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von Negan am
Das ist ein Spiel. Eine ziemliche Neuentwicklung. Es heißt Majesty of Sprites:
http://www.psytronik.net/newsite/index.php/plus4/68-majesty
Downloadmöglichkeit: http://plus4world.powweb.com/software/Majesty_Of_Sprites
Noch ein Info bzgl. des Joystickanschlusses. In der Tat ist dieser noch nicht in der Source. Der Autor meinte, dass es keine Priorität hatte, weil es doch sehr einfach ist. Der Schlüssel liege im Schaltplan der Plus/4.
So hat er sich ausgedrückt. Ich werde den Text heute übersetzen:
ZitatAlles anzeigenHa az FF08-ba olyan byte-ot irunk aminek a D1 bitje 0 akkor a TED k bemenetere erkezo joystik status line & keyboard status line ertekek irodnak az FF08 regiszterbe. Ha a programozo kiolvassa, akkor tudja, hogy a Joy2 irany erteket kapja mert D1 0 volt amikor a program irta. A Joy1 lekerdezesehez D2-nek kell 0-nak lennie es az FF08-ba irt ertek az elso joystick iranyat reflektalja.
Kell egy kis pinout remapping. (joystick port 1-8 a kapcsolasi rajzon => joyx[0:5], pin 1=joyx[0], pin2=joyx[1], pin3=joyx[2], pin4=joyx[3], pin5=nc, pin6=joyx[4], pin7=gnd, pin8=D2 for joy0 or D1 for joy1)
Valahogy igy (a c16.v modulban):
wire joy0[0:4];
wire joy1[0:4];
assign k[0:3]=kbus[0:3] | (3'b111 & joyx[0:3])
assign k[4:5]=kbus[4:5]; // no joystick line connected here
assign k[6]=kbus[6] | (1'b1 & joy0[4]);
assign k[7]=kbus[7] | (1'b1 & joy1[4]);
Ich war mir mal so frei und habe den Schaltplan hier hochgeladen.
Quelle: 8bit-museum.de
Hier die grobe Übersetzung, soweit ich es verstanden habe:
Sofern man in den FF08 einen Byte schreibt, wessen D1 bit "0" ist, wird in den TED k Eingang angekommener Joystick Status Line,& Keyboard Status Line in den FF08 Register geschrieben. Wenn der Programmierer dies ausliest, dann weiß er, dass Joystick2 Richtungswerte erhält, weil D1 den Wert "0" erhalten hat, als das Programm startete. Um Joystick 1 abzufragen muss D2 den Wert "0" erhalten, welcher wiederum in den FF08 geschrieben wird.
Man braucht ein kleines Pinout Remapping (joystick port 1-8 auf dem Schaltplan => joyx[0:5], pin 1=joyx[0], pin2=joyx[1], pin3=joyx[2], pin4=joyx[3], pin5=nc, pin6=joyx[4], pin7=gnd, pin8=D2 for joy0 or D1 for joy1)
etwa so (im c16.v Modul):
wire joy0[0:4];
wire joy1[0:4];
assign k[0:3]=kbus[0:3] | (3'b111 & joyx[0:3])
assign k[4:5]=kbus[4:5]; // no joystick line connected here
assign k[6]=kbus[6] | (1'b1 & joy0[4]);
assign k[7]=kbus[7] | (1'b1 & joy1[4]);
Die PRG-Injection geht jetzt.
Und mal wieder für die ungeduldigen:
Joysticks gehen noch nicht, 15khz/TV auch nicht. Und schade, dass das "MOS"-Spiel zwingend eine Floppy braucht ...
Sieht prima aus! Ton und Bild funktionieren einwandfrei? Ich komme erst heute Abend dazu es auszuprobieren.
Kannst du was mit den Angaben zum Joystick anfangen?
Von den vier Spielen die ich probiert habe läuft nur Tom. Aber ich kann bisher nicht sagen, dass das an meinen Änderungen liegt oder ob am FPGATED. Aber hey, das ist so neu und ist bisher kaum getestet worden, da ist es normal, dass viele Dinge noch haken.
Jetzt schaue ich mir erstmal die Joysicks an. Die Info, die Du gegeben hast, sollte reichen.
Prima. Welche Spiele hast du probiert? Manche Spiele lassen sich nicht mit RUN, sondern mit einer SYS(zahl) Befehl starten.
Probier mal "Shark Attack", "Kickstart", "Runner", "G-Man", "Space Pilot" aus. Diese sind populäre Spiele.
THX! -> gerade mal ausprobiert und ne runde das neue pac-pac mit den cursor tasten gespielt!
pac-pac -> http://www.pouet.net/prod.php?which=67808
Jetzt mit Joystick-Support:
Jetzt fehlt nur noch der 15khz/TV-Support, dann mache ich das erste echte Release.
Wow! Das ging aber echt fix. Ich werde heute Abend paar Tests durchführen.
mit joystick spielt sich pac-pac gleich viel besser...
Zitat von MISTJetzt mit Joystick-Support:
Jetzt fehlt nur noch der 15khz/TV-Support, dann mache ich das erste echte Release.
Mein Monitor zeigt leider kein Bild, wenn ich den Core starte. Liegt wohl am Frequenzbereich. Hab nur ein 17" TFT mit VGA Anschluss.
Das ist ja schade. Ich probier' mal eine "force ntsc"-Option zu bauen, die auch mit einem pal-kernal ntsc-timing erzwingt ...
Auf lange Sich sollte ich den Core wohl so bauen, dass er einen alternativen Kernel laden kann. Und sobald das ein ntsc-Kernal ist schaltet er komplett auf ntsc um.
Edit: Ok, hier ist er. Mit einer C16.CFG-Datei, da jemand ohne funktionierenden Bildschirm ja die Option zum Umschalten nicht sieht ...
Wow! Das sieht schon mal richtig gut aus. Ich konnte einiges ausprobieren.
das Bild unten ist ein Stück abgeschnitten, liegt aber wohl an der NTSC Einstellung. Scanlines, Joysticks alles funktioniert.
Die meisten von mir getesteten Spiele die 16kb erfordern, funktionieren bisher tadellos (ca. 20 an der Zahl). Probleme bereiten noch einige Spiele noch.
z.B. Commando 64, Commando 16, Runner, Space Pilot, Bandits at zero, Bernat a nyomozo
Kann man eine Art Hard-Reset Funktion einbauen? Manche Spiele werden nach einem normalen Reset nicht aus dem Speicher entfernt sondern bleiben.
Das ist kein Core Problem, sondern sehr typisch für den Rechner (ist also ein Feature)
Manchmal startet der Core nur mit 16kb RAM. Auch ein Reset oder in kurzes Ausschalten bringt da keine Besserung.
Könnte eventuell am Firmware liegen? Mein Minimig AGA fährt mit den neuesten Firmware Versionen auch nicht immer richtig hoch. Muss teilweise mehrfach starten
Könnten die Probleme am NTSC liegen?
der Autor hat mit seinem TEDFPGA nachgetestet und bei ihm laufen die von mir genannten Spiele unter PAL.
NTSC wird er noch gegentesten. Er meint jedoch, dass es durchaus an NTSC liegen könnte.
Hier eine Version mit etwas Zusatz-Magic. Die setzt noch ein paar Zero-Page-Werte auf den korrekten Wert nach dem Prg-Inject. Das sollte die Kompatibilität etwas erhöhen. Zumindest die zwei von meinen vier Testprogrammen die vorher nicht liefen laufen damit nun.
ToDo:
- 15khz-TV-Mode
- Alternativen Kernal laden (für NTSC)
Danke! Heute Abend probiere ich es aus.
Commando z.B. läuft nun.
Hast Du einen Fernseher mit Scart-Eingang?
Ja, ich habe einen Fernseher mit Scarteingang im Keller, sogar neben der MiST-FPGA. Leider habe ich keinen Anschlusskabel dafür um die beiden Geräte miteinander zu verbinden.